【发布时间】:2019-08-02 19:35:01
【问题描述】:
我需要对项目列表(IEnumerable)进行排序。使用 Linq 排序后,我无法使用 foreach 扫描元素。
代码如下:
const string VERIFICATION_CODE = "where doc.deviceId = \"{0}\" and doc.params =\"\"";
var content = string.Format(VERIFICATION_CODE, dto.DeviceIdorId);
var items = await
DocumentDBRepository<CosmosDBEvents>.GetItemsAsync(content);
if (items == null || items.Count() == 0)
{
return null;
}
items = from item in items
orderby item.descrizione_evento.Severity ascending,item.ts descending
select item;
MessagesController messageController = new MessagesController(_context);
EventsTypeDescriptionsController eventController = new EventsTypeDescriptionsController(_context);
int codice_evento;
string cultura;
foreach (var item in items)
{
codice_evento = Convert.ToInt32(item.eventId);
cultura = GetCulture();
item.decodifica_evento = messageController.GetMessageWithCulture(codice_evento, cultura);
ParserDescrizione(item);
item.descrizione_evento = eventController.GetDetail(codice_evento);
}
return items;
当我尝试执行 foreach 时,出现以下错误:
“对象引用未设置为对象的实例。”
但如果我进行快速观察,该集合似乎已填充。
谁能帮帮我。
【问题讨论】:
-
呸,这看起来很可怕,很容易受到 sql 注入攻击。
-
“它不允许我这样做”是什么意思?你能发布你得到的异常的确切文本吗?您是遇到异常还是只是没有按您的预期工作?