string[] lines3 = new string[100];
List<string> lines2 = new List<string>();
lines3 = Regex.Split(s1, @"\s*,\s*");

if (!lines2.Contains(lines3.ToString()))
{
    lines2.AddRange(lines3.Distinct().ToArray());
}

我已经检查了所有空格等,但是我的lines2 List中仍然出现重复的值

我必须在这里删除我重复的值

最佳答案

您的这张支票:

if (!lines2.Contains(lines3.ToString()))

是无效的。您正在检查自己的lines2是否包含System.String[],因为lines3.ToString()会为您提供。您需要检查lines3中是否存在lines2中的项目。

您可以迭代lines3中的每个项目,以检查lines2中是否存在该项目,然后将其添加。就像是。
foreach (string str in lines3)
{
    if (!lines2.Contains(str))
        lines2.Add(str);
}

或者,如果您的lines2是任何空列表,则只需将lines3不同值添加到列表中,例如:
lines2.AddRange(lines3.Distinct());

那么您的lines2将包含不同的值。

07-24 13:02