C#:存在或获取优先或默认的替代项



我有一个类

class Person {
 int Age;
 string Name;
}
List<Person> pList = new List<Person>();
 pList.Exists(p=> p.Name == "testName");  <-- need an alternative for this.

我正在使用.net 3.0。

因此,我无法使用getFirstOrDefault方法。

Exists 方法会引发 null 值异常,但我不想中断我的程序流;还有其他选择吗?

我也没有可用的AnyLinq

Exists应该

没问题 - 你只需要处理pnull的可能性。

bool nameExists = pList.Exists(p => p != null && p.Name == "testName");

或者,确保您的列表不包含任何null引用 - 这可能会使您更轻松地完成各种事情。

bool nameExists = pList.Any(p=>p.Name == "testName");

或(如果您不使用Any):

bool nameExists = pList.Select(p=>p.Name).Contains("testName");

最新更新