如何使用LINQ过滤Arraylist? [英] How to Filtering Arraylist using LINQ?
本文介绍了如何使用LINQ过滤Arraylist?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们有如下所示的arraylist:
We have arraylist like below:
ArrayList list = new ArrayList();
list[0]=""mdmf4": {"min_price": 39.72,"trans": "Manual"}";
list[1]=""mdmf4": {"min_price": 40.72,"trans": "Manual"}";
list[2]=""mdmf5": {"min_price": 39.56,"trans": "Manual"}";
list[3]=""mdmf5": {"min_price": 22.44,"trans": "Manual"}";
list[4]=""maaf4": {"min_price": 71.82,"trans": "Manual"}";
list[5]=""maaf4": {"min_price": 39.00,"trans": "Manual"}";
我想以最低价格过滤aaraylist,结果如下:
I want to filter aaraylist with minimum price and result looks like :
list[0]=""mdmf4": {"min_price": 39.72,"trans": "Manual"}";
list[1]=""mdmf5": {"min_price": 22.44,"trans": "Manual"}";
list[2]=""maaf4": {"min_price": 39.00,"trans": "Manual"}";
如何不使用Loop?是否可以使用LINQ?
How to do without using Loop? Is it possible with LINQ?
推荐答案
首先:我无法理解您的列表。这应该是一个JSON样式对象吗?如果是这样,那就很糟糕了。
我将假设一个具有id和值的POCO这个例子。
你需要一个groupby关注一分钟:
First: I cannot make much sense of your list. Is that supposed to be a JSON style object? if so then it is badly formed.
I will assume a POCO with id and value for this example.
You need a groupby followed by a min:
var result = list
.GroupBy(l=>l.id)
.Select(g=>new {id=g.key,value = g.min(l=>l.value);
这将返回带有id和value的匿名类型。如果你需要,你可以选择一个新定义的POCO类型。
this will return an anon type with id and value. You can select a new defined POCO type if that's what you need.
这篇关于如何使用LINQ过滤Arraylist?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文