[英]How to remove identical items from List<string>?
我有一個List,在每次sql查詢以某個值運行時從db中選擇用戶並在時間中選擇一個用戶因此我不能限制sql中的相同用戶。
我有以下列表:
list[0] = "jerry"
list[1] = "tom"
list[2] = "jerry"
我希望從列表中刪除任何(在我的情況下,第一個或最后一個並不重要)。
謝謝
IEnumerable<string> uniqueUsers = list.Distinct();
您還可以使用HashSet:
HashSet<string> uniqueUsers = new HashSet<string>(list);
LINQ可以解決這個問題:
List<string> names = new List<string> { "Tom", "Jerry", "Tom" };
IQueryable<string> distinctItems = names.Distinct();
如果需要列表類型,只需調用ToList():
distinctItems.ToList();
這是MSDN的一個例子。
編輯:非LINQ示例(使用List類中的 Contains()):
List<string> names = new List<string> { "Tom", "Jerry", "Tom" };
List<string> distinctNames = new List<string>();
foreach (var name in names)
{
if (!distinctNames.Contains(name))
{
distinctNames.Add(name);
}
}
您可以使用Distinct()LINQ擴展。
var list = new List<string> { "Tom", "Jerry", "Tom" };
var uniqueList = list.Distinct();
你可以使用list.distinct();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.