大家好我对If语句有疑问。我哪里错了?
int cnt = 0;
int wayListNums;
foreach (TableRow tr in allVisibleRows)
{
SPListItem itemAdd = wayList.Items.Add();
if (cnt == 0)
{
wayListNums = itemAdd.ID;
}
itemAdd["wayNum"] = "WayBill № " + " " + wayListNums;
...................
这是以下错误:
错误1使用未分配的局部变量'wayListNums'...。
最佳答案
这里的问题是,当声明时,wayListNums没有默认值。稍后,您仅在if块中设置它的值,因此,如果未执行,变量将保持未分配状态,就像错误告诉您的那样。
因此,您有2个选择:
在声明时为wayListNums分配一些值。 int wayListNums = 0;
确保在访问变量之前,每个代码分支都会为该变量分配一些值:
//码
if (cnt == 0)
{
wayListNums = itemAdd.ID;
}
else
{
wayListNums = somethingElse;
}
关于c# - C#-IF语句中的变量错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36881374/