使用未分配的本地字符串变量

时间:2014-01-31 16:42:47

标签: c# variables return-value

我试图设置一个函数来读取xml文件中的值

该功能如下......

public string XmlReadValue(string FilePath, string Element, string SubElement)
    {
        XmlDocument xml = new XmlDocument();
        xml.Load(FilePath);

        XmlNodeList Elements = xml.SelectNodes("//" + Element);
        string Valuee;

        foreach (XmlNode Elemente in Elements)
        {
            Valuee = Elemente.SelectSingleNode(SubElement).InnerText;
        }
        return Valuee;
    }

当我将值返回Valuee时,它会显示Use of an unassigned local variable 'Valuee'

我做错了什么?

3 个答案:

答案 0 :(得分:4)

这是因为Valuee实际上可能永远不会被设置(如果Elements没有值)。

您可以通过以下方式解决此问题:string Valuee = string.Empty;

答案 1 :(得分:3)

如果Elements为空,则永远不会影响Valuee的值。

你应该像这样初始化它:

string Valuee = "";

答案 2 :(得分:2)

string Valuee;不会分配任何内容。

改为设置为null或空字符串:

string Valuee = String.Empty; // change made here

foreach (XmlNode Elemente in Elements)
{
    Valuee = Elemente.SelectSingleNode(SubElement).InnerText;
}
return Valuee;