【问题标题】:reading data from xml and storing it in variable ,when i am printing variable in console getting error like variable is unassigned in C# [duplicate]从xml读取数据并将其存储在变量中,当我在控制台中打印变量时出现错误,如C#中未分配变量[重复]
【发布时间】:2021-05-18 03:07:17
【问题描述】:

我在这里附上我正在使用的代码

 {
  //reading data from file   
  XmlTextReader reader = new XmlTextReader(FileLocation);
  string s1;
  while (reader.Read())
    {
      //checking whether node name is Esig ang storing Esig value
      if (xtr.NodeType==XmlNodeType.Element&&xtr.Name=="Esig")
       {
         s1=xtr.ReadElementString();                                   
        }
     }

   Console.WriteLine(s1);
  }
    
      

【问题讨论】:

  • 你需要写:string s1 = "";
  • C# 对是否考虑变量“明确分配”有非常具体的规则,在上面的代码中,变量s1not“明确分配”的。毕竟,Read() 方法可能会在您第一次调用它时返回 false,即使它没有,您也可能永远找不到 Element 类型的节点,即使您找到了,您也可能永远也找不到查找名称为"Esig" 的节点。查看此站点上的重复项以及许多其他问题,其中讨论了您询问的确切错误消息

标签: c#


【解决方案1】:

局部变量未初始化。您必须手动初始化它们。

成员被初始化,例如:

public class X
{
    private string _userName; // This WILL initialize to zero
    ...
}

但局部变量不是:

public static void SomeMethod()
{
    string userName;  // This is not initialized and must be assigned before used.

    ...
}

因此你需要先初始化局部变量,然后再使用它。

你的代码会是这样的

string s1 = string.Empty;

更多详情请访问 Microsoft LINK

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    相关资源
    最近更新 更多