2011-04-21 59 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