Diyelim ki Customer
bir özelliği olan bir sınıfım var FirstName
. Sonra bir tane var List<Customer>
.
Listenin bir müşterisi olup olmadığını Firstname = 'John'
tek bir ifadede bulmak için LINQ kullanılabilir .. nasıl?
Diyelim ki Customer
bir özelliği olan bir sınıfım var FirstName
. Sonra bir tane var List<Customer>
.
Listenin bir müşterisi olup olmadığını Firstname = 'John'
tek bir ifadede bulmak için LINQ kullanılabilir .. nasıl?
Yanıtlar:
LINQ, bu tam sorunu çözmek için mükemmel bir uzantı yöntemi tanımlar:
using System.Linq;
...
bool has = list.Any(cus => cus.FirstName == "John");
LINQ burada yaşıyor, System.Core.dll başvurduğunuzdan emin olun.
zvolkov'un cevabı , böyle bir müşteri olup olmadığını öğrenmek için mükemmeldir . Daha sonra müşteriyi kullanmanız gerekiyorsa şunları yapabilirsiniz:
Customer customer = list.FirstOrDefault(cus => cus.FirstName == "John");
if (customer != null)
{
// Use customer
}
Bu senin sorduğun şey değil biliyorum, ama bir takip sorusunu önceden boşaltıp durduğumu sanıyordum :) (Tabii ki, bu sadece ilk müşteriyi bulur ... hepsini bulmak için, sadece bir normal where
fıkra.)
Söz konusu takip için bir seçenek (herhangi bir sayıda ilk adı olabilecek bir müşteri nasıl bulunur):
List<string> names = new List<string>{ "John", "Max", "Pete" };
bool has = customers.Any(cus => names.Contains(cus.FirstName));
veya müşteriyi benzer listenin CSV'sinden almak için
string input = "John,Max,Pete";
List<string> names = input.Split(',').ToList();
customer = customers.FirstOrDefault(cus => names.Contains(cus.FirstName));
customerList.Any(x=>x.Firstname == "John")
List<Customer> list = ...;
Customer john = list.SingleOrDefault(customer => customer.Firstname == "John");
"John" adında bir müşteri yoksa john null olur.
Bunu deneyin, umarım size yardımcı olur.
if (lstCustumers.Any(cus => cus.Firstname == "John"))
{
//TODO CODE
}