【发布时间】:2014-04-22 16:54:16
【问题描述】:
我有这个:
foreach (Software.dsBDD.list_table21 row in dataTable.Rows)
{
PictureBox box;
MemoryStream stream;
Panel panel;
Label label;
bool? pass;
if (this.pass.HasValue && this.end)
{
pass = this.pass;
}
if ((pass.GetValueOrDefault() && pass.HasValue) || row.view_only)
}
“GetValueOrDefault”附近的变量“pass”下划线表示错误:“使用未分配的局部变量 pass”。我不明白为什么这个变量没有被赋值,因为在同一行中,“HasValue”附近有“pass”并且它被赋值了。我的语法错误在哪里?!
【问题讨论】:
-
总得有人说。你为什么要让你的生活变得困难?有两个同名的变量似乎真的很受虐。更改布尔的名称? foreach 循环内部的变量与外部的不同。
-
我正在对不再在我们公司工作的人编写的非常旧的应用程序进行一些更改。我无法更改整个代码,就目前而言,我停留在这一点上。也许您可以建议如何分配默认值或如何修改此 IF 语句?有什么想法吗?
标签: c# variables unassigned-variable