【发布时间】:2017-03-26 01:29:08
【问题描述】:
我决定快速了解一下 LINQ 方面,而不是直接使用 foreach 循环,但我在让它工作时遇到了一些麻烦,主要是由于我相信的数据类型。
到目前为止,我已经掌握了这个;
var selectedSiteType = from sites in siteTypeList
where sites.SiteTypeID == temp
select sites;
siteTypeList 是一个站点类型列表。我正在尝试找到一个特定的(我用变量“temp”谴责了它。
然后我如何使用这个选定的站点类型作为站点类型?当我尝试将“selectedSiteType”传递给另一个函数时,就像这样;
mSiteTypeSub.EditSitetype(selectedSiteType);
注意:我尝试提供索引,好像 selectedSiteType 是一个列表/数组,但这也不起作用,我收到以下错误:
Argument 1: cannot convert from
'System.Collections.Generic.IEnumerable<DeviceManager_take_2.SiteType>' to
'DeviceManager_take_2.SiteType'
我错过了什么吗?也许是某种类型的演员?就像我说的那样,我对此很陌生,并且正在努力解决这个问题。很有可能我把整个概念都搞错了,而且我自欺欺人了!
提前干杯。
【问题讨论】:
-
应该只有一个匹配项吗?这应该适合你:
var selectedSiteType = siteTypeList.SingleOrDefault(s=>s.SiteTypeID == temp);