var a = new List<string>{"A", "Z", "C", "D", "C"};
var b = new List<string>{"G", "D", "E", "Z", "C"};
var c = new List<int>{1, 1, 1};
System.Linq.Enumerable.Zip(a, b, (a1,b1)=> new {a=a1,b=b1}).Dump("Zip - creates a collection with elements from list a and b matched based on index position");
a.Zip(b, (a1,b1)=> new{a1, b1}).Dump("Zip - shorthand");
System.Linq.Enumerable.Aggregate(c, (resultsofar,y)=> resultsofar-y ).Dump("Aggregate1"); //first number is initial value for result so far and starting from second value, function recusrses
c.Aggregate (2000, (resultsofar, cn) => resultsofar+ cn).Dump("aggregate2"); //first argument is initial value, aggregator function is then evaluated for each item in collection
System.Linq.Enumerable.Range(101, 5).Dump("Range - generates a list of numbers starting from 101 to 105");
System.Linq.Enumerable.Except(a, b).Dump("Except - generates a list of containing items from a minus values from b. Result is A, B");
a.Except(b).Dump("shorthand for except");
System.Linq.Enumerable.Union(a, b).Dump("Union - union of two lists, excluding duplicates");
a.Union(b).Dump("Union shorthand");
System.Linq.Enumerable.Concat(a, b).Dump("Concat - make two lists into one bigger list");
a.Concat(b).Dump("Union shorthand");
System.Linq.Enumerable.Intersect(a, b).Dump("Intersect - unique list of items which exist in both lists");
a.Intersect(b).Dump("Intersect shorthand");
See results of these statements below... Zip - creates a collection with elements from list a and b matched based on index position
| (5 items) | |
| a | b |
|---|---|
| A | G |
| Z | D |
| C | E |
| D | Z |
| C | C |
Zip - shorthand
| (5 items) | |
| a1 | b1 |
|---|---|
| A | G |
| Z | D |
| C | E |
| D | Z |
| C | C |
Aggregate1 -1
aggregate2 2003
Range - generates a list of numbers starting from 101 to 105
| IEnumerable<Int32> (5 items) |
| 101 |
| 102 |
| 103 |
| 104 |
| 105 |
Except - generates a list of containing items from a minus values from b. Result is A, B
| IEnumerable<String> (1 item) |
| A |
shorthand for except
| IEnumerable<String> (1 item) |
| A |
Union - union of two lists, excluding duplicates
| IEnumerable<String> (6 items) |
| A |
| Z |
| C |
| D |
| G |
| E |
Union shorthand
| IEnumerable<String> (6 items) |
| A |
| Z |
| C |
| D |
| G |
| E |
Concat - make two lists into one bigger list
| IEnumerable<String> (10 items) |
| A |
| Z |
| C |
| D |
| C |
| G |
| D |
| E |
| Z |
| C |
Union shorthand
| IEnumerable<String> (10 items) |
| A |
| Z |
| C |
| D |
| C |
| G |
| D |
| E |
| Z |
| C |
Intersect - unique list of items which exist in both lists
| IEnumerable<String> (3 items) |
| Z |
| C |
| D |
Intersect shorthand
| IEnumerable<String> (3 items) |
| Z |
| C |
| D |
No comments:
Post a Comment