2009-11-25 48 views
1

我是Linq的一個完整的成員。我想知道,如果有可能在給定的Class1.Code中查找我匹配的Class2.Value。用Linq查詢SortedList <Object1,Object2>

class Class1() 
{ 
    public string Code; 
    ... 
} 

class Class2() 
{ 
    public double Value; 
    ... 
} 

SortedList<Class1, Class2> 

謝謝你的幫忙。

回答

2
list.First(x => x.Key.Code == codeToSearch).Value 

然而,這是沒有效率(O(N))。我想這不是解決問題的正確方法。如果您在大多數時間通過Code進行搜索,則應該將其設爲SortedList<string, Class2>並將Code作爲關鍵字。

1
double value = (from kv in SortedList 
       where kv.Key.Code = "CodeI'mLookingFor" 
       select kv.Value.Value).FirstOrDefault(); 
0

SortedList < Class1,Class2> x;

一種方式來寫它:

(從X 對,其中pair.Key.Code == matchingValue 選擇pair.Value.Value)

其中matchingValue是你想要的Class1.Code尋找。