list1=0,1,2,3,4,5,6,7… list2=A,B,C,D,E,F,G... c# form窗体,我想生成一个list3=0-A,1-B,2-C,3-D怎么实现
时间: 2024-10-16 16:15:42 浏览: 24
single-linked-list2.zip_linkedlist初始化_single_single-linked-list2
在C#中,如果你想将两个列表`list1`和`list2`对应位置的元素组合成一个新的列表`list3`,你可以使用`Zip()`方法,如果它们的长度相等。以下是实现这一功能的示例:
```csharp
List<int> list1 = new List<int>() { 0, 1, 2, 3, 4, 5, 6, 7 };
List<char> list2 = new List<char>() { 'A', 'B', 'C', 'D', 'E', 'F', 'G' };
// 使用Zip()方法结合两个列表
List<string> list3 = list1.Zip(list2, (x, y) => $"{x}-{y}")
.ToList();
```
这个例子中,`Zip()`方法接受两个列表作为输入,并返回一个元组的集合。我们通过传递一个lambda表达式`(x, y) => $"{x}-{y}"`来格式化每个元组,将其转换为字符串形式,即"0-A", "1-B", 等等。
请注意,如果`list1`和`list2`的长度不一致,`Zip()`方法会忽略超出部分。为了确保始终得到固定大小的结果,你需要先检查它们的长度是否相等或者采取其他合适的方法来填充缺失的元素。
阅读全文