2009-11-25 42 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寻找。