Ниже работает правильно, без ошибок:
IEnumerable<FieldDef> FieldDefQuery =
from fds in FieldDefs
where fds.DispLevel == enumDispLevel.Grid
select fds;
Ниже работает правильно без ошибок:
IEnumerable<FieldDef> FieldDefQuery =
from fds in FieldDefs
orderby fds.DispOrder ascending
select fds;
Ниже не удается:
IEnumerable<FieldDef> FieldDefQuery =
from fds in FieldDefs
where fds.DispLevel == enumDispLevel.Grid
orderby fds.DispOrder ascending
select fds;
foreach (FieldDef fd in FieldDefQuery)
{
Debug.WriteLine(fd.DispName);
}
С предложениями where и orderby происходит сбой во время выполнения со следующим сообщением:
A first chance exception of type 'System.ArgumentOutOfRangeException' occurred
Parameter name: Parameter index is out of range.
at Gabe2a.GabeLib.FieldDef.get_DispLevel() in
at System.Linq.Enumerable.WhereListIterator`1.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
Я просто не могу понять, как / почему хорошо только условие where, и только предложение orderby, но оба предложения вместе терпят неудачу