【问题标题】:How do I return a element using LINQ query from an ObservableCollection?如何使用来自 ObservableCollection 的 LINQ 查询返回元素?
【发布时间】:2020-05-30 20:12:56
【问题描述】:

我有一个 ObservableCollection:

public ObservableCollection<NurDeviceWatcherInfo> KnownDevices = new ObservableCollection<NurDeviceWatcherInfo>();

NurDeviceWatcherInfo 具有以下字符串属性:Address、ConnState、Info、Name、Spec、SpecStr、Tag、TransportType。

我尝试使用的是:

NurDeviceWatcherInfo device = from NurDeviceWatcherInfo in KnownDevices 
                                where NurDeviceWatcherInfo.Name.Contains("NUR") 
                                select new NurDeviceWatcherInfo();

为此我收到以下错误:

严重性代码描述项目文件行抑制状态 错误 CS0266 无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“NurApiDotNet.UWP.NurDeviceWatcherInfo”。存在显式转换(您是否缺少演员表?)

正确的语法是什么?

【问题讨论】:

  • 请注意,any IEnumerable 的问题完全相同,而不仅仅是ObservableCollection
  • 这能回答你的问题吗? Linq code to select one item

标签: c# linq uwp


【解决方案1】:

我解决了这个问题:

device = KnownDevices.Where(x => x.Name.Contains("NUR")).FirstOrDefault();

【讨论】:

  • 你可以直接使用firstOrDefault,比如device = KnownDevices.FirstOrDefault(x =&gt; x.Name.Contains("NUR"));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-09
  • 2011-11-12
  • 1970-01-01
  • 2016-11-11
  • 2014-10-01
  • 1970-01-01
  • 2013-09-05
相关资源
最近更新 更多