C#向数组添加数据

C#向数组添加数据,c#,xml,arrays,collections,C#,Xml,Arrays,Collections,我有以下代码: public static Account[] LoadXml(string fileName) { Account ths = new Account(); // load xml data // put data into properties/variables // the xml is in a structure like this: /* <accounts> <acco

我有以下代码:

public static Account[] LoadXml(string fileName) {
     Account ths = new Account();
     // load xml data
     // put data into properties/variables
     // the xml is in a structure like this:
     /*
     <accounts> 
        <account ID="test account">
         <!-- account variables here -->
        </account>
        <account ID="another test account">
         <!-- account variables here -->
        </account>
     </accounts>
     */
}
公共静态帐户[]加载XML(字符串文件名){
账户ths=新账户();
//加载xml数据
//将数据放入属性/变量中
//xml的结构如下所示:
/*
*/
}
如何返回包含这些帐户的数组或集合

每个
都是它自己的
帐户

您可以执行的操作列表:

var result = new List<Account>
最后把它还给我:

return result.ToArray();

考虑使用适当的xml序列化,而不是编写自己的xml序列化。NET框架确实可以为您处理所有问题,包括数组、集合或列表

您的代码应该如此简单:

using (var stream = File.OpenRead(filename)) {
    var serializer = new XmlSerializer(typeof(AccountsDocument));
    var doc = (AccountsDocument)serializer.Deserialize(stream);
    return doc.Accounts;
}
AccountsDocument类:

[XmlRoot("accounts")]
public class AccountsDocument {
    [XmlElement("account")]
    public Account[] Accounts { get; set; }
}
帐户类别:

public class Account {
    [XmlAttribute("ID")]
    public string Id { get; set; }

    [XmlElement("stuff")]
    public StuffType Stuff { get; set; }

    // ... and so on
}

如果您的
帐户
类实际上与XML文档匹配,您可以尝试对其进行反序列化。否则,请使用
XmlReader
XDocument
。我已经完成了Xml读取,我只需要让函数返回每个帐户。我不需要Xml方面的帮助。。我只是需要收藏方面的帮助。
public class Account {
    [XmlAttribute("ID")]
    public string Id { get; set; }

    [XmlElement("stuff")]
    public StuffType Stuff { get; set; }

    // ... and so on
}