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()
raise
NullReferenceException
时,如果集合为
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 ();