【问题标题】:how to get the property value of IEnumerable and assign it to variable in C#?如何获取 IEnumerable 的属性值并将其分配给 C# 中的变量?
【发布时间】:2021-12-05 14:03:15
【问题描述】:

我正在使用 List 进行数据收集,但决定尝试使用 IEnumerable。我正在尝试将我的出勤类的 SHIFT 属性的值分配给另一个 Datagidviwcell。

当我使用 List 时,这个对我有用;

dgview.Rows[rowindex].Cell[cellindex].value = mylist.Find(x => x.Date == datevalue).SHIFT;

当我使用 IEnumerable 而不是 List 时,我该怎么做;

【问题讨论】:

  • @zaggler 你的声明等于mylist.SingleOrDefault(x => x.Date == datevalue)?.SHIFT - 唯一的区别是你的在所有情况下都比较慢,除了匹配是最后一个条目或者没有匹配

标签: c# list ienumerable


【解决方案1】:

已经解决了。将 Find 替换为 First...

dgview.Rows[rowindex].Cell[cellindex].value = mylist.First(x => x.Date == datevalue).SHIFT;

【讨论】:

  • 注意:在没有匹配的情况下要与Find比较,你应该使用FirstOrDefault,而不是First
  • 如果您只希望有一个匹配,您可能希望使用 Single() 而不是 First(),因为如果不完全匹配,它将引发异常。
猜你喜欢
  • 2022-01-19
  • 1970-01-01
  • 2021-08-04
  • 2020-06-18
  • 2020-08-07
  • 1970-01-01
  • 2019-05-24
  • 2022-11-15
  • 1970-01-01
相关资源
最近更新 更多