可能未设置数组元素

时间:2014-03-24 10:58:59

标签: c# arrays

在下面的方法中,我将字符串smdrext设置为tmp [3]。然而,tmp [3]似乎有时是空的,因为我得到了#34;索引超出了数组的范围。"。在我设置它之前,我可以更改它确实存在以确保程序不会因此而再次停止吗?

public void WriteToCSV(string line, string path)
{

    string[] tmp = line.Split(',');
    string smdrext = tmp[3];

    if (ext.Contains(Convert.ToString(smdrext)))
    {

      File.AppendAllText(path, line + "\n");

    }

}

1 个答案:

答案 0 :(得分:2)

请尝试使用以下代码段。

public void WriteToCSV(string line, string path)
{
    if (!string.IsNullOrEmpty(line))
    {
        string[] tmp = line.Split(',');
        if (tmp.Length > 3)
        {
            string smdrext = tmp[3];

            if (ext.Contains(Convert.ToString(smdrext)))
            {
                File.AppendAllText(path, line + "\n");
            }
        }
    }

}

如果有任何疑虑,请告诉我。