从对象数组中获取字符串数组

时间:2009-09-05 09:32:04

标签: c# arrays

我有一个Tag对象数组

class Tag
{
 public string Name;
 public string Parent;
}

我希望代码将标记名称列表作为字符串数组返回

6 个答案:

答案 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;
}