【问题标题】:Copy string array to another array object将字符串数组复制到另一个数组对象
【发布时间】:2016-04-21 07:17:25
【问题描述】:

我有一个字符串数组:

var a = new string[] { "a", "b", "b" };

还有一个班级:

public class MyClass
{
    public MyField[] MyField {get; set;}
}

MyField 是一个类:

public class MyField
{
    public InnerField[] InnerField{get; set;}
}

InnerField 在哪里:

public class InnerField 
{
    public string Output {get; set;}
}

所以我想从我的数组(a) 复制到MyField[]

是否可以通过例如 LINQ 来实现?

【问题讨论】:

  • 在 MyField 和 Output 之间,有一个 InnerField 数组。因此,您正在尝试从数组映射到数组数组,不是吗?你想如何映射它?什么是“规则”?
  • 我从服务中得到这个。
  • @Cieja 您是否尝试过任何给定的答案?

标签: c# .net arrays linq arraylist


【解决方案1】:

也许:

var a = new string[] { "a", "b", "b" };
var innerFields = a.Select(s => new InnerField { Output = s });
var mc = new MyClass
{
    MyField = a.Select(s => new MyField { InnerField = innerFields.ToArray() }).ToArray()
};

如果您甚至想使用相同的InnerField[] 引用,请不要在分配时使用innerFields.ToArray(),而是在innerFields 的声明中使用。那么所有MyField 实例都指向同一个数组。

如果您只想要MyField 数组中的一个MyField 实例:

var mc = new MyClass
{
    MyField = new[]{ new MyField { InnerField = innerFields.ToArray() }}
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-27
    • 2015-08-22
    • 2011-07-09
    • 2013-05-28
    • 2015-06-06
    • 2012-08-15
    • 1970-01-01
    • 2022-12-19
    相关资源
    最近更新 更多