Может ли ienumerable, полученный из выражения yield, когда-либо быть нулевым?
Может ли ienumerable от уступки быть нулевым?
comment
проверьте этот stackoverflow.com/questions/1765400/yield-return-with- null
- person Mahmoud Darwish   schedule 06.07.2013
comment
это может быть полезно ... codeproject.com/Articles/237034 / Yield-Return-Could-Be-Better
- person terrybozzio   schedule 06.07.2013
Ответы (1)
Нет. Компилятор C # преобразует ваш блок итератора в итератора, который возвращается из вашего метода. Это никогда не может быть null
.
Тем не менее, конечно, можно получить null
значений в вашем перечислении, при условии, что общий тип вашего перечисления является ссылочным типом или типом, допускающим значение NULL.
person
Douglas
schedule
06.07.2013
Что вы имеете в виду под своим блоком итератора? Вы можете вернуть нулевые значения, И вы можете сделать
GetEnumerator()
return null, поэтому я не уверен, что вы говорите, не может быть нулевым.
- person Matthew Watson; 06.07.2013
@MatthewWatson: тело метода, содержащее оператор
yield return
или yield break
, в спецификации C # называется блоком итератора.
- person Eric Lippert; 06.07.2013
А, ладно, теперь я понимаю, что он имеет в виду. Все еще не уверен, что OP имел в виду именно это ... возможно, так оно и было.
- person Matthew Watson; 06.07.2013