C# 签入一个对象数组
我有一个对象数组,比如说C# 签入一个对象数组,c#,.net,linq,.net-3.5,C#,.net,Linq,.net 3.5,我有一个对象数组,比如说ClientsDTO[]。对象中有一个属性,即Tin。我想检查数组中是否存在值。我有一种检查方法,即使用LINQ查询并获得满足条件的对象列表。如果返回的列表为null,则该值在数组中不存在。如果列表存在,则值存在于数组中。下面是一个示例代码 我想知道有没有比这更好的方法,即更优雅、性能更好的东西。我使用的是VS2008,3.5框架 ClientsDTO[] client = new ClientsDTO[10]; var lstclient = client.Where
ClientsDTO[]
。对象中有一个属性,即Tin
。我想检查数组中是否存在值。我有一种检查方法,即使用LINQ查询并获得满足条件的对象列表。如果返回的列表为null,则该值在数组中不存在。如果列表存在,则值存在于数组中。下面是一个示例代码
我想知道有没有比这更好的方法,即更优雅、性能更好的东西。我使用的是VS2008,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
}
提前谢谢 您可以使用带谓词的重载:
bool valueIsPresent = client.Any(c => c.TIN == anyNumber);
您可以使用带谓词的重载:
bool valueIsPresent = client.Any(c => c.TIN == anyNumber);
@abatishchev:问题清楚地表明“我正在使用VS2008,3.5框架”。它最初被标记为C#3.0,这与.NET3.0不同。我不明白你的编辑或评论是如何应用的。@Cody:谢谢,对不起。不管怎样,放轻松点,没发生什么严重的事。干杯@abatishchev:问题清楚地表明“我正在使用VS2008,3.5框架”。它最初被标记为C#3.0,这与.NET3.0不同。我不明白你的编辑或评论是如何应用的。@Cody:谢谢,对不起。不管怎样,放轻松点,没发生什么严重的事。干杯谢谢。答案就在我的脸上,我没有意识到谢谢。答案就在我的脸上,我没有意识到