Linq用法2
一、生成EFU1,EFU2,。。。到EFU20
1、使用Enumerable.Range
List<string> efuList = Enumerable.Range(1, 20)
.Select(i => $"EFU{i}")
.ToList();
2、使用Enumerable.Repeat
var list1 = Enumerable.Repeat("EFU", 20);
var list2 = list1.Select((x, index) => x + (index + 1)); // 注意:index从0开始,需+1
二、将
List<int> SplitNums = new List<int>() { 2, 2, 3, 3 };
List<int> CutCount = new List<int>() { 30, 40, 50, 20 };
合并
List<int> ints = new List<int>() { 30, 30, 40, 40, 50, 50, 50, 20, 20, 20 };
1、
List<int> ints1 = SplitNums
.Select((num, index) => Enumerable.Repeat(CutCount[index], num))
.SelectMany(x => x)
.ToList();
2、
List<int> ints2 = SplitNums
.Zip(CutCount, (num, count) => Enumerable.Repeat(count, num))
.SelectMany(x => x)
.ToList();

浙公网安备 33010602011771号