从字符串数组的列表转换为对象列表

时间:2016-10-18 22:13:48

标签: c# arrays list

如果我有一个看起来像这样的简单类:

public string Param1 { get; set; }
public string Param2 { get; set; }
public SimpleClass (string a, string b) { Param1 = a; Param2 = b; }

从另一个类返回的字符串数组列表:

var list = new List<string[]> {new[] {"first", "second"}, new[] {"third", "fourth"}};

是否有更有效的方法使用C#结束List<SimpleClass>而不执行以下操作:

var list1 = new List<SimpleClass>();
foreach (var i in list)
{          
    var data = new SimpleClass(i[0], i[1]);
    list1.Add(data);         
}

2 个答案:

答案 0 :(得分:8)

您可以使用Linq:

method3()

答案 1 :(得分:3)

正如@rualmar所说,你可以使用linq。但是你也可以重载隐式运算符。 例如

public static implicit operator SimpleClass(string[] arr)
{
    return new SimpleClass(arr[0], arr[1]);
}

然后你可以写这个

var list = new List<SimpleClass> { new[] { "first", "second" }, new[] { "third", "fourth" } };