C#数组的Map、Filter、Reduce操作
2017-05-31 22:28
417 查看
在Javascript、Python等语言里,Map、Filter和Reduce是数组的常用方法,可以让你在实现一些数组操作时告别循环,具有很高的实用价值。它们三个的意义大家应该都清楚,有一个十分形象的解释如下:
然而,支持lambda表达式的C#也有类似的方法,但不是这样命名的。实现IEnumerable接口的类(如List、HashSet、继承Array的类等)都有如下等价方法:
“Map” => Select方法
“Filter” => Where方法
“Reduce” => Aggregate方法
用法示例如下:
然而,支持lambda表达式的C#也有类似的方法,但不是这样命名的。实现IEnumerable接口的类(如List、HashSet、继承Array的类等)都有如下等价方法:
“Map” => Select方法
“Filter” => Where方法
“Reduce” => Aggregate方法
用法示例如下:
class SuperClass { public int Value { get; set; } public SuperClass(int value) { this.Value = value; } } class ClassA : SuperClass { public ClassA(int value) : base(value) { } } static class Test { static void test() { var list1 = new List<SuperClass>() { new SuperClass(0), //元素0 new SuperClass(1), //元素1 new SuperClass(2), //元素2 }; //Select,结果为{元素0, 元素1, 元素2},类型为List<ClassA> List<ClassA> list2 = list1.Select(e => e as ClassA).ToList(); //Where,结果为{元素1, 元素2},类型为List<ClassA> List<ClassA> list3 = list2.Where(e => e.Value > 0).ToList(); //Aggregate,结果为3,类型为int int sum = list3.Aggregate(0, (acc, e) => acc += e.Value); } }
相关文章推荐
- javascript中使用迭代操作数组替代for循环(map,filter,some,every,reduce,find )
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- JavaScript对一个数组 进行filter、some、map、foreach的操作分别有什么作用?
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- javascript利用map,every,filter,some,reduce,sort对数组进行最优化处理
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- javascript中数组的迭代方法对比:forEach()、map()、reduce()、some()、every()、filter()图解
- Js数组的map,filter,reduce,every,some方法
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例(转)
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- JQuery 操作数组 each、map、grep、filter
- 5个数组Array方法: indexOf、filter、forEach、map、reduce使用实例
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- Swift 数组中 Map,FlatMap,Filter,Reduce的使用
- JQuery 操作数组 each、map、grep、filter
- Swift 数组中 Map,FlatMap,Filter,Reduce的使用