避免将重复的元素添加到列表C# [英] Avoid Adding duplicate elements to a List C#
问题描述
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());
}
我已经检查了所有空格等,但是我在第2行中仍然得到重复的值List
I have checked all the spaces etc but i still get duplicate values in my lines2 List
我必须在这里删除重复的值
I have to remove my duplicate values here itself
推荐答案
您的检查:
if (!lines2.Contains(lines3.ToString()))
无效.您正在检查您的lines2
是否包含System.String[]
,因为lines3.ToString()
会为您提供.您需要检查lines2
中是否存在lines3
中的项目.
is invalid. You are checking if your lines2
contains System.String[]
since lines3.ToString()
will give you that. You need to check if item from lines3
exists in lines2
or not.
您可以迭代lines3
中的每个项目,检查是否在lines2
中存在,然后添加它.就像是.
You can iterate each item in lines3
check if it exists in the lines2
and then add it. Something like.
foreach (string str in lines3)
{
if (!lines2.Contains(str))
lines2.Add(str);
}
或者,如果您的lines2
是任何空列表,则只需将lines3
不同的值添加到列表中,例如:
Or if your lines2
is any empty list, then you can simply add the lines3
distinct values to the list like:
lines2.AddRange(lines3.Distinct());
,那么您的lines2
将包含不同的值.
then your lines2
will contain distinct values.
这篇关于避免将重复的元素添加到列表C#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!