我有一个从Class:
创建的列表class Vara
{
public int streckKod { get; set; }
public string artNamn { get; set; }
}
列表如下:
List<Vara> minaVaror = new List<Vara>();
我用这一行添加到列表中:
minaVaror.Add(new Vara() {streckKod = inputBox1, artNamn = textBox2.Text });
但我坚持的是如何在列表中找到特定的int。假设我正在我的列表中搜索变量streckKod中的数字293。
我尝试过使用.IndexOf函数,但我还没有让它正常工作。
还可以获得特定号码所在的物品编号吗?
答案 0 :(得分:4)
如果您要查找streckKod
值为293的所有项目,请使用Where
var items = minaVaror.Where(i => i.streckKod == 293);
如果只对第一项感兴趣,请使用FirstOrDefault
-
var item = minaVaror.FirstOrDefault(i => i.streckKod == 293);
FirstOrDefault
将return null in case no item exist in collection
的值为293。
请确保在班级中添加名称空间System.Linq
以使用这些LINQ extension methods
。
答案 1 :(得分:0)
使用Linq
minaVarror.Find(item=>item.strekKod == 293);
答案 2 :(得分:0)
添加到Rohit Vats回答......
当您找到项目时,使用Where
或FirstOrDefault
,您可以通过以下方式获取索引:
var item = minaVaror.FirstOrDefault(i => i.streckKod == 293);
// Get index of Vara (item) with streckKod = 293
int index = minaVaror.IndexOf(item);
当IndexOf
返回列表minaVaror