C# 如何从列表中删除重复项

C# 如何从列表中删除重复项,c#,list,duplicates,C#,List,Duplicates,我有一个列表,如下所示 List<List<String>> ListsToMerge 我需要从上面的列表中删除重复的条目并创建一个主列表 List<string> MergedList 试试这个:没有LINQ List<string> MergedList = new List<string>(); foreach(List<string> ls in ListsToMerge) { foreach(strin

我有一个列表,如下所示

List<List<String>> ListsToMerge
我需要从上面的列表中删除重复的条目并创建一个主列表

List<string> MergedList
试试这个:没有LINQ

List<string> MergedList = new List<string>();
foreach(List<string> ls in ListsToMerge)
{
    foreach(string s in ls)
    {
       if(!MergedList.Contains(s))
       {
           MergedList.Add(s)
       }
    }
}
List MergedList=new List();
foreach(ListsToMerge中的列表ls)
{
foreach(ls中的字符串s)
{
如果(!MergedList.Contains))
{
合并列表。添加
}
}
}
试试这个:没有LINQ

List<string> MergedList = new List<string>();
foreach(List<string> ls in ListsToMerge)
{
    foreach(string s in ls)
    {
       if(!MergedList.Contains(s))
       {
           MergedList.Add(s)
       }
    }
}
List MergedList=new List();
foreach(ListsToMerge中的列表ls)
{
foreach(ls中的字符串s)
{
如果(!MergedList.Contains))
{
合并列表。添加
}
}
}

您可以使用一些方便的Linq扩展方法来完成这项工作
SelectMany
将展平列表并选择所有项目,
Distinct
将删除所有重复项:

List<string> mergedLists = ListsToMerge.SelectMany(x => x).Distinct().ToList();
List mergedLists=ListsToMerge.SelectMany(x=>x.Distinct().ToList();

您可以使用一些方便的Linq扩展方法来完成这项工作
SelectMany
将展平列表并选择所有项目,
Distinct
将删除所有重复项:

List<string> mergedLists = ListsToMerge.SelectMany(x => x).Distinct().ToList();
List mergedLists=ListsToMerge.SelectMany(x=>x.Distinct().ToList();

var MergedList=ListsToMerge.SelectMany(z=>z.Distinct()
var MergedList=ListsToMerge.SelectMany(z=>z.Distinct().may be MergedList始终为空。@fliedonion什么意思?我想您没有初始化MergedList。所以
如果(!MergedList.Contains))
引发空引用异常。可能MergedList总是空的。@fliedonion什么意思?我想您没有初始化MergedList。因此
如果(!MergedList.Contains))
引发空引用异常。