Liste ararken, bir istisna atmak yerine null döndüren bir linq lambda arama yöntemi var mı? (Atılmış olmaktan istisna önlemek)Bulun() ve İlk(), istisnalar atar, bunun yerine null nasıl döndürülür?
if (list.Exists(x => x.Foo == Foo))
{
var listItem = list.Find(x => x.Foo == Foo);
}
Sadece ifadeyi tekrarlamak yanlış geliyor:
Benim şimdiki çözüm gibi bir şey olduğunu.
şey gibi ...
var listItem = list.Find(x => x.Foo == Foo);
if (listItem != null)
{
//Do stuff
}
... bana iyi hissediyor. Yoksa sadece ben mi?
Bu konuda daha iyi bir yaklaşımınız var mı? (Çözelti sadece daha iyi bir çözüm iyidir, null adlı iade gerekmez)
ve unutma - liste bu genel tür ([Varsayılan Değerler Tablo] için varsayılan değer (http://msdn.microsoft içerecektir eğer: Bu durumda böyle durumunuzu yaklaşmalıdır. com/en-us/library/83fhsxwc.aspx)), "Bul" yöntemini kullanarak var olup olmadığını söyleyemezsiniz. Bu durumlarda 'FindIndex',' Exists' veya 'Contains' kullanmalısınız. – HuBeZa