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();
posted @ 2025-06-27 23:08  孤沉  阅读(7)  评论(0)    收藏  举报