C# 是否尝试创建包含结构的数组?

C# 是否尝试创建包含结构的数组?,c#,.net,arrays,class,struct,C#,.net,Arrays,Class,Struct,我试图让一个数组保存一个包含两个元素的结构,以保存一个Xml标记名及其值 我希望阵列的工作方式如下: MyArrayStruct[Count].TagName = "Bla Bla"; MyArrayStruct[Count].TagValue = "Bla Bla Bla"; 能不能请一些人帮我把这个弄好 我在将数组声明为Struct以使其按我想要的方式工作时遇到了问题,我希望它能像注释输出代码一样工作 public void LoadXML() { if (File.Exis

我试图让一个数组保存一个包含两个元素的结构,以保存一个Xml标记名及其值

我希望阵列的工作方式如下:

MyArrayStruct[Count].TagName = "Bla Bla";  
MyArrayStruct[Count].TagValue = "Bla Bla Bla";
能不能请一些人帮我把这个弄好


我在将数组声明为Struct以使其按我想要的方式工作时遇到了问题,我希望它能像注释输出代码一样工作

public void LoadXML()
{
    if (File.Exists("Data.xml"))
    {
        //Readin XML
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load("Data.xml");
        XmlNodeList dataNodes = xmlDoc.SelectNodes("//FieldData");
        //Count the nodes
        int Max = 0;
        foreach (XmlNode node in dataNodes)
        {
            Max = Max + 1;
        }

        int Count = 0;
        //TagContents MyXmlPointer = new TagContents();
        // MyXmlPointer[] ArrayNode;
        //  ArrayNode = new MyXmlPointer[Max];

        foreach (XmlNode node in dataNodes)
        {
            // ArrayNode[Count].TagName =node.SelectSingleNode("Have not found what to put here yet but will get there").Name;
            // ArrayNode[Count].TagValue =node.SelectSingleNode("Have not found what to put here yet but will get there").InnerText;                      
        }
    }
    else
    {
        MessageBox.Show("Could not find file Data.xml");
    }
}

将字段
公开

public class TagContent
{
    public String TagName;
    public String TagValue;
};
使用它,我建议使用泛型(比如:

var tags=newlist();
添加(新标记内容{TagName=“aaa”,TagValue=“vvv”});
//使用它:
//获取项目5的“标记名”的值:
var tagname5=标记[5]。标记名;

我的注释将其分为我想要它做的部分,但这不起作用结构数组通常比结构列表好得多,因为字段可以直接在数组元素中访问,但不能直接在
列表
元素中访问。
public class TagContent
{
    public String TagName;
    public String TagValue;
};
var tags = new List<TagContent>();

tags.Add(new TagContent{TagName = "aaa", TagValue = "vvv"});

// use it:
// get value of 'TagName' of item 5:
var tagname5 = tags[5].TagName;