有没有办法从这个列表中提取颜色类型作为列表?
public List<object1> Color1 = new List<object1>()
{ new object1{Color=(Color)new ColorConverter().ConvertFrom("#FF016864"), Offset=0, Name="Color1"},
new object1{Color=(Color)new ColorConverter().ConvertFrom("#FF01706B"), Offset=20, Name="Color2"},
new object1{Color=(Color)new ColorConverter().ConvertFrom("#FF017873"), Offset=40, Name="Color3"},
new object1{Color=(Color)new ColorConverter().ConvertFrom("#FF018781"), Offset=60, Name="Color4"},
new object1{Color=(Color)new ColorConverter().ConvertFrom("#FF31A7A3"), Offset=80, Name="Color5"}
};
即。我想要这个:
public List<string> ColorNames ...
我需要Color1 List的字符串成员,我该怎么做?
答案 0 :(得分:7)
LINQ是你的朋友:
List<string> names = Color1.Select(x => x.Name).ToList();
List<string> names = Color1.ConvertAll(x => x.Name);
我个人更喜欢使用LINQ,因为它适用于非列表,但ConvertAll
效率稍高,因为它从一开始就知道目标列表的大小。
值得进一步了解LINQ - 它是用于数据转换的令人难以置信的有用的技术集。请参阅MSDN introduction page作为一个很好的起点。
答案 1 :(得分:0)
List<string> ColorNames = Color1.Select(c => c.Name).ToList();
答案 2 :(得分:0)
var result = Color1.Select(x => x.Name).ToList()
你的意思是这个字符串列表吗?
答案 3 :(得分:0)
尝试使用选择:
public List<string> ColorNames = Color1.Select(c => c.Name).ToList();