如何复制对象<;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>
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;
}