我有自定义类型OrderStatus。
class OrderStatus
{
string prodCode
bool Issue
}
我有OrderStatus列表,名为OrderList,下面的例子是
prodCode issue
BTCR false
BTCRRED false
BTCROUT true
BTCM false
BTCMOUT false
我想将prodCode分组在前四个字母上,所以上面的列表只有BTCR& BTCM在里面。如下所示
prodCode Issue
BTCR true
BTCM false
请注意BTCR问题现在是正确的,因此如果以BTCR开头的任何三个产品代码都有问题,则需要显示。
我该如何解决这个问题?认为这是一个linq问题?
答案 0 :(得分:3)
var result=list.GroupBy(o=>o.prodCode.Substring(0,4))
.Select(o=>new OrderStatus {prodCode=o.Key,Issue=o.Any(o2=>o2.Issue)});
以下是测试:http://ideone.com/20Olpz