【发布时间】:2017-08-11 06:05:38
【问题描述】:
List<object> _list = new List<object>();
public object Get => _list.Where( x => x.GetType() == typeof( int ) ).First();
当Where的长度为零时,使用上面的代码会导致System.InvalidOperationException。
public object Get2
{
get
{
var where = _list.Where( x => x.GetType() == typeof( int ) );
if( 0 < where.Count() )
{
return where.First();
}
return null;
}
}
所以我用它来解决这个问题,但是有没有办法让代码更干净?
【问题讨论】:
-
FirstOrDefault? -
列表是否需要持有对象?
-
使用
FirstOrDefault()而不是First()。因为,First()返回序列的第一个元素,它返回序列的第一个元素。FirstOrDefault ()在表中没有元素时不会抛出异常。
标签: c#