C# LinQ显式问题
后续行动 当前代码:C# LinQ显式问题,c#,linq,C#,Linq,后续行动 当前代码: var query = from b in books select new { Title = b.Title, StockAvailable = bookexamples.Count(be => be.BookID == b.BookID &&
var query = from b in books
select new
{
Title = b.Title,
StockAvailable = bookexamples.Count(be =>
be.BookID == b.BookID &&
be.OrderDetailID == null
)
};
目标:将
query
替换为应包含LINQ查询中强类型数据的IEnumerable
public class test
{
public string Title { get; set; }
public List<int> StockAvailable { get; set; }
}
公共类测试
{
公共字符串标题{get;set;}
公共列表可用{get;set;}
}
问题:收到错误消息: 错误1无法隐式转换类型
“System.Collections.Generic.IEnumerable”
到
“System.Collections.Generic.IEnumerable”
。
存在一个显式转换(您是吗
缺少演员阵容?)
问题:我应该如何解决这个问题
//Fullmetalboy您需要修改查询以返回
test
对象(当前,它正在返回anomynous对象)
您需要调整StockAvailable
以表示int
,因为Count
返回int
另外,请注意,C#中的类名在开头用大写字母书写。您需要修改查询以返回
test
对象(当前,它返回的是不连续的对象)
您需要调整StockAvailable
以表示int
,因为Count
返回int
另外,请注意,C#中的类名在开头用大写字母书写。按照惯例,而不是按照规则,C#中的类名用大写字母书写。没有什么强迫你这样做,但仍然是很好的建议。@FullmetalBoy和@Femaref:在原始答案中编写了代码之后,我同意根据你的新要求进行的修改。我当然会这么做+1.谢谢大家的帮助!那里有没有一本书或一个网站,我可以读到更多关于c#的经验法则,例如“类名是用c#的大写字母写的”?类名是用c#的大写字母写的,按惯例而不是按规则写的。没有什么强迫你这样做,但仍然是很好的建议。@FullmetalBoy和@Femaref:在原始答案中编写了代码之后,我同意根据你的新要求进行的修改。我当然会这么做+1.谢谢大家的帮助!有没有关于c#的经验法则的书或网站,我可以读得更多?例如“用c#写的类名是大写字母”?编辑是为了澄清我认为你想问的问题。编辑是为了澄清我认为你想问的问题。
var query = from b in books
select new test()
{
Title = b.Title,
StockAvailable = bookexamples.Count(be =>
be.BookID == b.BookID &&
be.OrderDetailID == null
)
};