在 C# 程序中,我从 XML 接收一个值,然后我需要针对一个数组进行测试。如果在数组中找到该值,则返回 true,否则返回 false。这是代码:
private static bool check(string filename)
{
string[] arr = new string[7] {"123", "456", "789", "1012", "1314", "1516", "1781"};
XmlDocument xml = new XmlDocument();
xml.Load(filename);
XmlNode x = xml.SelectSingleNode(@"/abc/def/efg/s");
string result = x.InnerText;
Console.WriteLine(result);
for (int i=0; i<arr[i].Length ;i++)
{
Console.WriteLine(arr[i] + " " + i);
if (arr[i] == result)
{ return true; }
}
return false;
}
我遇到了一个例外:
System.IndexOutOfRangeException:索引超出了数组的边界。
现在,如果未找到匹配项,则会出现此异常。如果找到匹配项,则成功返回 true。为什么在返回 false 时会出现异常:这是我从另一个方法调用该方法的方式:
if (check(FileName))
{
// do something
}
如果找不到匹配项,请告知代码有什么问题。