[英]Distinct items in List
我有一个Excel电子表格,我试图用唯一值填充列表。 我找到了我不希望使用的LinqToExcel 。 最多会有2000行,不是很多。
我的想法是:
List<string> lst = new List<string>();
string item;
for (i=2; i<2001; i++)
{
item = ws.cells[i,3];
if(lst.**notInList**(item))
{
lst.Add(item);
}
}
我知道这里没有notInList()
,但是我希望有类似的想法或其他想法。
var values = Enumerable.Range(2, 1999)
.Select(i => ws.cells[i,3])
.Distinct()
.ToList();
List<string> lst = new List<string>();
string item;
for (i=2; i<2001; i++)
{
item = ws.cells[i,3];
if(!lst.Contains(item))
{
lst.Add(item);
}
}
使用包含来代替
List<string> lst = new List<string>();
string item;
for (i=2; i<2001; i++)
{
item = ws.cells[i,3];
if(!lst.Contains(item))
{
lst.Add(item);
}
}
如果希望为相同的条目过滤项目,则可以使用linq中的.Distinct
方法。
var distinctList = lst.Distinct();
如果从一开始就知道此集合应仅包含唯一元素,则也可以考虑使用HashSet<T>
代替。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.