避免将重复的元素添加到列表C# [英] Avoid Adding duplicate elements to a List C#

查看:672
本文介绍了避免将重复的元素添加到列表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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆