2013-12-14 128 views
0

我有一個從類中創建一個列表:在列表中找到一個specfic INT

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函數,但我沒有得到它正常工作。

也有可能得到特定號碼所在的物品編號嗎?

回答

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

+0

如果你不想使用Linq,你將不得不迭代列表或者for(int i = 0;我 GalaxyNetworks

+1

謝謝,這是訣竅! –

+0

Your welcome .. :) –

0

使用LINQ

minaVarror.Find(item=>item.strekKod == 293); 
0

添加到羅希特大桶答案...

當你找到了你的項目,無論使用哪種WhereFirstOrDefault您可以通過執行獲得指標:

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

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

As IndexOf返回列表中的確切項目(Vara)的位置minaVaror