c#将对象属性值转换为字符串数组

时间:2018-04-13 20:53:46

标签: c#

我有一个简单的课程:

public class Item
{
    public int A {get; set;}
    public int B {get; set;}
}

假设我有一个Items

的集合
var items = new List<Item>
{
    new Item { A = 1, B = 2},
    new Item { A = 3, B = 4}
};

我需要的是一个LINQ查询,用于将每个Item对象值转换为字符串数组,因此例如上面我将得到:

IEnumerable<string []> result = { 
  {"1", "2"}, // First Item
  {"3", "4"} // Second Item
}

任何想法如何实现?

2 个答案:

答案 0 :(得分:2)

items.Select(item => new [] { item.A.ToString(), item.B.ToString() }).ToList()

答案 1 :(得分:1)

如果您正在使用C#7,则可以使用ValueTuple而不是包含两个元素的数组:

var result = items.Select(x => (A: x.A.ToString(), B: x.B.ToString()));