如果这是一个返回" \ r"?如何控制字符串中的第一个字符?

时间:2014-06-12 09:17:11

标签: c# asp.net arraylist datatable return

嗨,我有一个List,我使用foreach来控制此List中的每一行。

如果行中的第一个字符是return =“\ r”,那么我不想将该行添加到ArrayList。

这里是我的代码:

foreach (string line in lines)
                {
                    if (line != string.Empty)
                    {
                        string first_charakter = line.Substring(0, 1);

                        if (first_charakter != "-" || first_charakter != " " || first_charakter != "\r")
                        {
                            list_of_programs.Add(line);
                        }

                    }
                }

2 个答案:

答案 0 :(得分:1)

修复并进行少量重构

foreach (string line in lines)
{
     if (!string.IsNullOrEmpty(line))
     {
          if (line[0] != "-" && line[0] != " " && line[0] != "\r")
          {
               list_of_programs.Add(line);
          }
     }
 }

答案 1 :(得分:1)

您不想包含它们,因此请勿使用&&,您可以将集合用作查找+ Contains

char[] iDontWant = { ' ', '-', '\r' };
if(!iDontWant.Contains(first_charakter))
{
    list_of_programs.Add(line);
}

甚至LINQ的所有行:

list_of_programs = lines
   .Where(l => !String.IsNullOrEmpty(l) && !iDontWant.Contains(l[0]))
   .ToList();