我可以在List <t>中搜索特定值吗?</t>

时间:2012-09-19 22:44:13

标签: c# list generics

我有一个列表<customClass&gt;。

自定义类包含两个成员,它们一起形成一个伪复合键。

我希望能够多次写入自定义类的每个实例(“逐步填充” - 一个成员在一个点分配值,然后在稍后的位置分配更多成员,等等。 )。

将数据保存到此列表<T&gt;时,我希望能够找到我即将部分填充的特定实例(如果已经实例化的话)。

例如,假设“伪复合键”是:

class.member1 == "a"
class.member2 == "42"

我想搜索一下我的自定义类的实例是否已包含这些值,如果有,请使用它;否则,创建该类的新实例以添加到列表<T&gt;。

是否有办法找到自定义类的特定实例,以便我可以将成员分配给该实例尚未分配的成员?

我需要这样做的原因是,在保存值时(在它们“消失”之前),许多(如果不是全部)自定义类实例的所有值都可能已知,但可能并非所有值都已知;下次进行保存时,这些相同类实例的其他部分是已知的,必须添加到现有的类实例中;等

2 个答案:

答案 0 :(得分:3)

myList.Where(x => x.Member1 == "a" && x.Member2 == "42");

答案 1 :(得分:1)

try {   
    var obj = list.First(x => x.Property1 == "1" && x.Property2 == "a");
} catch {
    // Not found
}