如何复制对象<;T>;到数组

本文关键字:lt gt 数组 对象 何复制 复制 | 更新日期: 2023-09-27 17:57:45

我有以下类:

public class Fruit
{
    public int FruitID { get; set; }
    public string FruitTitle { get; set; }
    public string FruitName { get; set; }
}

现在我想在string[]中获取所有的FruitTitles。

我有一个对象List<Fruit>

如何复制对象<;T>;到数组

string[] fruitTitles = fruits.Select(fruit => fruit.FruitTitle)
                             .ToArray();

如果你有一个列表,试试这个:

添加命名空间:

using System.Linq;

尝试使用Select方法:

string[] FruitTitles = list.Select(x => x.FruitTitle).ToArray();
string[] FruitNames = list.Select(x => x.FruitName).ToArray();

您还可以创建一个匿名对象来获得这两个字符串,例如:

string[] titleNames = list.Select(x => new { x.FruitTitle, x.FruitName })
                          .ToArray();

关于linq的更多提示:http://code.msdn.microsoft.com/101-LINQ-Samples-3fb9811b

使用Linq Select运算符,它将把所有FruitTitle投影到阵列中

    List<Fruit> fruits = new List<Fruit>();
    var allFruitTitles fruits.Select(f => f.FruitTitle).ToArray(); 
var fruitTitles = fruits.Select(f => f.FruitTitle).ToArray();

顺便说一下,您可以使用var而不是string[]:这是隐式声明:fruitTitle将自动识别为字符串数组。

如果您有一个包含Fruit的列表,那么您将由此获得一个FruitTitles列表。

var list = List<Fruit>();
string[] tmp = new string[list.Count];
for(int i=0;i<list.Count;i++)
{
    tmp[i] = list.ElementAt(i).FruitTitle;
}