gpt4 book ai didi

.net - 如何将两个集合合并为一个

转载 作者:行者123 更新时间:2023-12-01 23:34:36 25 4
gpt4 key购买 nike

我在 Silverlight 中创建了两个集合,每个集合都是在不同的时间通过不同的方法创建的。

方法 1 创建一个 List<> 标题为 person(包含字段 first name,last name age)

方法 2 创建了一个名为 Phone 的列表<>(包含电话号码、手机号码)

在 SL 中有没有一种方法可以将这两个列表组合成一个集合,然后可以绑定(bind)到 View 进行显示?

示例:组合成包含所有属性(名字、姓氏、年龄、电话号码、手机号码)的集合

最佳答案

您正在寻找 Zip 函数。它允许您通过组合 eache 的元素将 2 个集合组合成一个集合。

List<Type1> col1 = ...;
List<Type2> col2 = ...;
var combined = col1.Zip(col2, (x, y) => new {
FirstName = x.FirstName,
LastName = x.LastName,
PhoneNumber = y.PhoneNumber,
CellNumber = y.CellNumber });

我不确定 Zip 在 Silverlight 中是否可用。如果不是那么这是它的定义

public static IEnumerable<TRet> Zip<T1, T2, TRet>(
this IEnumerable<T1> enumerable1,
IEnumerable<T2> enumreable2,
Func<T1, T2, TRet> func) {

using (var e1 = enumerable1.GetEnumerator()) {
using (var e2 = enumerable2.GetEnumerator()) {
while (e1.MoveNext() && e2.MoveNext()) {
yield return func(e1.Current, e2.Current);
}
}
}
}

关于.net - 如何将两个集合合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7536856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com