我有一个Tag对象数组
class Tag
{
public string Name;
public string Parent;
}
我希望代码将标记名称列表作为字符串数组返回
答案 0 :(得分:6)
简单地说:
var tags = new List<Tag> {
new Tag("1", "A"),
new Tag("2", "B"),
new Tag("3", "C"),
};
List<string> names = tags.ConvertAll(t => t.Name);
不需要Linq,如果您需要阵列,请致电ToArray()
。
答案 1 :(得分:5)
var names = from t in tags
select t.Name;
这样的东西会给你一个IEnumerable而不是名字,如果你不是那些数组,只需使用.ToArray()
。
答案 2 :(得分:0)
最好使用IEnumerable
界面。否则,您可以对该基本foreach循环使用linq查询
答案 3 :(得分:0)
return (from Tag in MyTagArray select Tag.Name).ToArray();
答案 4 :(得分:0)
string[] tagArray = (from t in tagList select t.Name).ToArray();
答案 5 :(得分:0)
我认为你想要这样的东西:
public List<string> GetNamesOfTag(List<Tag> tags)
{
List<string> Name = new List<string>();
foreach(Tag item in tags)
{
Name.Add(item.name);
}
returns Name;
}