2011-04-21 55 views
1

我有一个对象数组,说ClientsDTO[]。对象中有一个属性Tin。我想检查一个值是否存在于数组中。我有一种检查方式,即使用LINQ查询并获取满足条件的对象列表。如果返回的列表为null,则该值不在数组中。如果列表存在,则数组中存在值。以下是示例代码。检入对象数组

我想知道有没有比这更好的方法,即更优雅和更好的性能。我正在使用VS 2008,3.5框架。

ClientsDTO[] client = new ClientsDTO[10]; 

var lstclient = client.Where(c => c.TIN == anyNumber).FirstOrDefault(); 
if (lstclient == null) 
{ 
    //value present in array 
} 
else 
{ 
    //value not present 
} 

在此先感谢!

+1

@abatishchev:问题明确表示 “我使用VS 2008,3.5框架”。它最初是用** C#3.0 **标记的,与.NET 3.0不一样。我不明白你的编辑或你的评论如何适用。 – 2011-04-21 12:37:25

+1

@Cody:谢谢,对不起。无论如何,更容易,没有发生严重的事情。干杯! – abatishchev 2011-04-21 12:40:53

回答

6

你可以使用的Any,需要一个谓词过载:

bool valueIsPresent = client.Any(c => c.TIN == anyNumber); 
+0

thx。解决方案盯着我的脸,我没有意识到。 :) – samar 2011-04-21 13:42:05