有两种方法,其中一种在using
语句中使用 LINQ 返回数据。我想知道查询是否有可能抛出某种异常,因为查询执行被延迟并且它正在使用的变量已经被释放?
class Foo
{
void Bar()
{
var bazResult = Baz();
//... use bazResult here...
}
IEnumerable<int> Baz()
{
using (var d = new SomeDisposableSource())
{
return d.Select(e => e.Id);
}
}
}
顺便说一句,它一定已经以某种形式被问过了,但我找不到明显的候选人。所以不要用力踢我:)