从C#</string>中的List <string>中删除重复项

时间:2014-09-17 11:22:55

标签: c# asp.net list

从C#中的列表中删除重复项

我有一个数据读取器,可以从数据库中读取字符串。

我使用List来聚合从数据库读取的字符串,但我在此字符串中有重复项。

任何人都有快速方法从C#中的通用列表中删除重复项?

List<string> colorList = new List<string>();

    public class Lists
    {
        static void Main()
        {
            List<string> colorList = new List<string>();
        }
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            colorList.Add(variableFromDB.ToString());

                    foreach (string color in colorList)
                    {
                      Response.Write(color.ToString().Trim());
                    }
        }
    }

4 个答案:

答案 0 :(得分:8)

colorList = colorList.Distinct().ToList;

答案 1 :(得分:1)

foreach (string color in colorList.Distinct())

答案 2 :(得分:0)

使用LINQ:

var distinctItems = colorList.Distinct();

此处的类似文章:Remove duplicates in the list using linq

答案 3 :(得分:0)

IEnumerable<Foo> distinctList = sourceList.DistinctBy(x => x.FooName);

public static IEnumerable<TSource> DistinctBy<TSource, TKey>(
    this IEnumerable<TSource> source,
    Func<TSource, TKey> keySelector)
{
    var knownKeys = new HashSet<TKey>();
    return source.Where(element => knownKeys.Add(keySelector(element)));
}