C# - IF 语句中的变量错误

标签 c# .net

大家好。我的 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;

   ...................

这是以下错误:

Error 1 Use of unassigned local variable 'wayListNums' ....

最佳答案

这里的问题是 wayListNums 在声明时没有默认值。稍后您仅在 if block 中设置它的值,因此如果 if 未执行,则该变量将保持未分配状态,就像错误告诉您的那样。

所以你有两个选择:

  1. 在声明时为 wayListNums 分配一些值。

int wayListNums = 0;

  • 确保每个代码分支在访问变量之前都会为其分配一些值:
  • //代码

    if (cnt == 0) 
       {
          wayListNums = itemAdd.ID; 
       } 
     else
       {
          wayListNums = somethingElse;
       }
    

    关于C# - IF 语句中的变量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36881374/

    相关文章:

    c# - 获取所有标有 [JsonIgnore] 属性的属性

    c# - 需要nHibernate指南来做CRUD

    c# - MVC 6 - 参数 URL 上的 Web API 2.0 空白

    c# - MVC 3 多个字段的远程验证

    c# - 分解集中式数据库的最具成本效益的方法是什么?

    c# - C#中对象的内存地址

    c# - 默认 TabItem 背景颜色

    c# - ASP.MVC HandleError 属性不起作用

    c# - 具有 .Net Core Identity 的 Multi-Tenancy DbContext 的 IoC DI

    c# - 不同的应用程序设置取决于配置模式