从struct

时间:2016-11-28 22:32:09

标签: c# arrays

我有疑问。 假设我有一个结构

public struct submenu_str
{            
    public int mainMenNumber_int;
    public string menuText_str;            
    public int tag;          

  public submenu_str(int numb, string text, int Tag)
  {
        mainMenNumber_int = numb;
        menuText_str = text;
        tag = Tag;                
  }
}

我创建了一个这个结构的数组

public submenu_str[] myActCmd = new submenu_str[3];

如何获取整个结构的数组只获得一个元素的数组?如果我想从myActCmd数组中获取一个menuText_str数组?

string strarray[] = myActCmd.menuText_str[] ?

我该怎么做?谢谢!

1 个答案:

答案 0 :(得分:2)

使用Select(来自LINQ)将对象集合映射到它们的属性集合。在你的情况下:

string[] strArray = myActCmd.Select(a => a.menuText_str).ToArray();

另外,用类型表示变量不是标准的C#命名;你也不应该暴露公共领域(改为使用属性):

public string MenuText {get; set;}

会更标准。