比较字符串数组中的值

时间:2014-11-17 20:05:57

标签: c# string compare

我有一个字符串[],它填充了来自日志文件的错误消息。 现在我需要将它们相互比较,因为很多错误是相同的。 然后我需要返回它们,以便使用正则表达式过滤整个日志文件。

这是我的代码:

foreach (string item in errSplit)
{        
    string[] lines = item.Split(new string[] {"\r\n", "\n"}, StringSplitOptions.None);

    fisrt = lines.FirstOrDefault();

    // Here I woud like to loop thru the sring and compare the values
    // and save the string,so every error exists just onece
    fehler.WriteLine(fisrt);
}

字符串看起来如何正确知道:

  

Services.Exceptions.Exceptions - System ...
  Services.Exceptions.Exceptions - System ...
  Services.Exceptions.Exceptions - 〜/ Default ...

1 个答案:

答案 0 :(得分:0)

如果您想要的只是创建一个只包含任何一个条目的数组的版本,那么您可以通过几种方式来实现。使用LINQ,这可能是最简单的:

IEnumerable<string> yourFilteredErrors = yourErrors.Distinct();

如果您需要数组而不是IEnumerable,请拨打.ToArray()上的yourFilteredErrors

或者,如果您无法使用LINQ,则可以迭代:

List<string> filteredErrors = new List<string>();
foreach (string error in yourErrors) {
    if (!filteredErrors.Contains(error)) {
        filteredErrors.Add(error);
    }
}

如果要考虑效率问题,您应该将List<string>替换为HashSet<string>