C# Linq从列表中获取第一项,转换错误

mwg9r5ms  于 2022-12-15  发布在  C#
关注(0)|答案(3)|浏览(119)
private List<Setting> _settings;
private Setting _setting;

_settings = _atlasService.GetSettings();
_setting = (Setting)_settings.Take(1);

我正在尝试将_setting设置为_settings列表中的第一项(列表中只有一条记录)
在代码的最后一行,我得到这个错误:
系统无效转换异常HResult=0x80004002消息=无法将类型为'd__25'1 [图集.实体.设置]'的对象转换为类型'图集.实体.设置'。

xkrw2x1b

xkrw2x1b1#

替换行_setting = (Setting)_settings.Take(1);
作者

_setting = _settings.First();

take方法在您强制转换为一个设置时返回IEnumerable

6vl6ewon

6vl6ewon2#

您不需要取消装箱,可以用途:
_settings.Take(1)
如果要转换不同类型:
_settings.Take<yourAwesomeType>(1);

vmdwslir

vmdwslir3#

是的,当您使用**.FirstOrDefault();.第一个();**而不是 。取(1); 它应该工作。

相关问题