从字符串数组的列表转换为对象列表
如果我有一个看起来像这样的简单类:
public string Param1 { get; set; } public string Param2 { get; set; } public SimpleClass (string a, string b) { Param1 = a; Param2 = b; }
从另一个类返回的字符串数组列表:
var list = new List {new[] {"first", "second"}, new[] {"third", "fourth"}};
有没有更有效的方法使用C#最终得到List
而不执行以下操作:
var list1 = new List(); foreach (var i in list) { var data = new SimpleClass(i[0], i[1]); list1.Add(data); }
你可以使用Linq:
var simpleClassList = originalList.Select(x => new SimpleClass(x[0], x[1])).ToList()
正如@rualmar所说,你可以使用linq。 但是你也可以重载隐式运算符。 例如
public static implicit operator SimpleClass(string[] arr) { return new SimpleClass(arr[0], arr[1]); }
然后你可以写这个
var list = new List { new[] { "first", "second" }, new[] { "third", "fourth" } };