我收到以下错误:
Cannot implicitly convert type 'System.Collections.Generic.IEnumerable' to 'Munchkin.Model.PlayerProfiles.Profile'. An explicit conversion exists (are you missing a cast?)
我的代码是:
Profile currentProfile;
public Profile ActiveProfile()
{
currentProfile = new Profile();
return currentProfile =
(from profiles in xmlDoc.Element("PlayerPofiles").Element("Online").Elements("Player")
where (string)profiles.Element("Active") == "True"
select new Profile
{
Name = (string)profiles.Element("Name"),
Sex = (string)profiles.Element("Sex"),
Avatar = (string)profiles.Element("Avatar").Attribute("path") ?? "",
Created = (DateTime)profiles.Element("Created"),
Birthday = (string)profiles.Element("Birthday"),
Wins = (string)profiles.Element("Ratio").Element("Win"),
Losses = (string)profiles.Element("Ratio").Element("Loss"),
Abandoned = (string)profiles.Element("Ratio").Element("Abandoned")
});
}
最佳答案
public Profile ActiveProfile()
{
currentProfile = new Profile();
return currentProfile = (from profiles in xmlDoc.Element("PlayerPofiles").Element("Online").Elements("Player")
where (string)profiles.Element("Active") == "True"
select new Profile
{
Name = (string)profiles.Element("Name"),
Sex = (string)profiles.Element("Sex"),
Avatar = (string)profiles.Element("Avatar").Attribute("path") ?? "",
Created = (DateTime)profiles.Element("Created"),
Birthday = (string)profiles.Element("Birthday"),
Wins = (string)profiles.Element("Ratio").Element("Win"),
Losses = (string)profiles.Element("Ratio").Element("Loss"),
Abandoned = (string)profiles.Element("Ratio").Element("Abandoned")
}).FirstOrDefault();
}
由于您的 currentProfile 是单个配置文件项并且查询分配配置文件集合,这就是出现此错误的原因。尝试使用 FirstOrDefault()
关于c# - Linq - 无法隐式转换类型'System.Collections.Generic.IEnumerable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8628064/