我有一个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()
,但我希望有类似或其他想法。
答案 0 :(得分:2)
var values = Enumerable.Range(2, 1999)
.Select(i => ws.cells[i,3])
.Distinct()
.ToList();
答案 1 :(得分:0)
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);
}
}
答案 2 :(得分:0)
使用包含
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);
}
}
答案 3 :(得分:0)
如果您希望过滤相同条目的项目,可以使用linq中的.Distinct
方法。
var distinctList = lst.Distinct();
如果您从一开始就知道此集合应仅包含唯一元素,请考虑使用HashSet<T>
代替。