C# 如何检查where的结果长度
所以我用它来解决这个问题,但是有没有办法让代码更干净?使用C# 如何检查where的结果长度,c#,C#,所以我用它来解决这个问题,但是有没有办法让代码更干净?使用FirstOrDefault在没有匹配的情况下获取null作为返回值 public object Get2 { get { var where = _list.Where( x => x.GetType() == typeof( int ) ); if( 0 < where.Count() ) { return where.
FirstOrDefault
在没有匹配的情况下获取null
作为返回值
public object Get2
{
get
{
var where = _list.Where( x => x.GetType() == typeof( int ) );
if( 0 < where.Count() )
{
return where.First();
}
return null;
}
}
而不是First()
使用FirstOrDefault()
FirstOrDefault将是您要寻找的东西:
public object Get => _list.Where( x => x.GetType() == typeof( int ) ).FirstOrDefault();
当您面对First()
raiseNullReferenceException
时,如果集合为null
,其中作为FirstOrDefault
将在无需选择的情况下为您提供默认值
您可以找到比较.First
和FirstOrDefault
的线程,并描述需要使用它们的场景使用FirstOrDefault()
而不是First()
。因为,First()
返回序列的第一个元素,并返回序列的第一个元素<当表中没有元素时,code>FirstOrDefault()不会引发异常
public object Get => _list.FirstOrDefault( x => x.GetType() == typeof(int))
FirstOrDefault:返回序列的第一个元素,如果找不到元素,则返回默认值。抛出异常:仅当源为空时。使用时间:当需要多个元素且只需要第一个元素时。
FirstOrDefault
?列表是否需要保存对象?使用FirstOrDefault()
而不是first()
。因为,First()
返回序列的第一个元素,并返回序列的第一个元素。FirstOrDefault()
在表中没有元素时不会引发异常。感谢您的快速响应。谢谢你的帮助。@Lim:很高兴一直帮助你!
public object Get => _list.Where( x => x.GetType() == typeof( int ) ).First();
public object Get => _list.Where( x => x.GetType() == typeof( int ) ).FirstOrDefault();
public object Get => _list.FirstOrDefault( x => x.GetType() == typeof(int))
public object Get => _list.Where( x => x.GetType() == typeof( int ) ).FirstOrDefault ();