在List中查找特定的int

时间:2013-12-14 15:15:12

标签: c# list class int indexof

我有一个从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函数,但我还没有让它正常工作。

还可以获得特定号码所在的物品编号吗?

3 个答案:

答案 0 :(得分:4)

如果您要查找streckKod值为293的所有项目,请使用Where

var items = minaVaror.Where(i => i.streckKod == 293);

如果只对第一项感兴趣,请使用FirstOrDefault -

var item = minaVaror.FirstOrDefault(i => i.streckKod == 293);

FirstOrDefaultreturn 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回答......

当您找到项目时,使用WhereFirstOrDefault,您可以通过以下方式获取索引:

var item = minaVaror.FirstOrDefault(i => i.streckKod == 293);

// Get index of Vara (item) with streckKod = 293
int index = minaVaror.IndexOf(item);

IndexOf返回列表minaVaror

中的确切项目(Vara)的位置时