gpt4 book ai didi

c# - 关于通过LINQ将一个对象的数据传输到数组

转载 作者:行者123 更新时间:2023-12-02 05:25:04 25 4
gpt4 key购买 nike

class A
{
public string[] X {get;set;}
public string[] Y {get;set;}
}

class B
{
public string X {get;set;}
public string Y {get;set;}
}

用Linq把A的对象数据传给B的数组?假设 A 的对象有 10-10 大小的 X 和 Y,我想转移到 B 数组 (B[] b = new B[10])

A a = new A();
//put 10 items in both x and y
B[] b = new B[10];
//here I want to get a's data to b

最佳答案

您可以使用 Zip来自 LINQ 的方法:

A a = new A();
B[] bs = a.X.Zip(a.Y, (x, y) => new B() { X = x, Y = y })
.ToArray();

或者使用带索引的Select:

B[] bs = a.X.Select((x, i) => new B {X = x, Y = a.Y[i]})
.ToArray();

如果您卡在 .NET 3.5 上,则使用 Enumerable.Range 的另一种方法:

B[] bs = Enumerable.Range(0, 10)
.Select(i => new B {X = a.X[i], Y = a.Y[i]})
.ToArray();

关于c# - 关于通过LINQ将一个对象的数据传输到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13209295/

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