-1

我正在读取 c#.net 中的文本文件,最后一行完全为空,但在 foreach c# 中无法检测到空字符串,因此出现错误

string[] lines = System.IO.File.ReadAllLines(dir);
List<KeyValuePair<int, DateTime>> items = new List<KeyValuePair<int, DateTime>>();
List<KeyValuePair<int, DateTime>> lst = new List<KeyValuePair<int, DateTime>>();
foreach (string line in lines)
{
    if (line!=string.Empty)
    {
        l = line.Split('\t');
        l[0] = l[0].Trim();
        PersianCalendar persCal = new PersianCalendar();
        SqlConnection sqlconn = new SqlConnection(DBsetting.Connstring);
        SqlCommand sqlda = new SqlCommand("InsertReadd", sqlconn);
        sqlda.CommandType = CommandType.StoredProcedure;
        sqlda.Parameters.AddWithValue("@date", l[1]);
        sqlda.Parameters.AddWithValue("@IDp", l[0]);
        sqlda.Parameters.AddWithValue("@day", GetDayOfWeek(GetPerDate(l[1])));
        sqlda.Parameters.AddWithValue("@nobatkari", "");
        sqlda.Connection.Open();
        sqlda.ExecuteNonQuery();
        sqlda.Connection.Close();
    }
}
RefGrid();
4

2 回答 2

2
if(!String.IsNullOrEmpty(line))

这样做就可以了

它检查 Null 和 Empty。这是 C# 中此功能随处使用的。

编辑: 您可以使用以下内容检查包含空格的字符串。

if(!String.IsNullOrWhiteSpace(line))
于 2016-11-23T08:07:29.133 回答
0

查看

改变:

 if (line!=string.Empty)

至:

  //check if the sting = null or empty
  if (!String.IsNullOrEmpty(line))
  { 
     //some code 
  }
于 2016-11-23T08:04:57.477 回答