C#将两个不同的对象添加到列表中

时间:2013-11-21 13:28:20

标签: c# list

您好我想在列表对象中添加两个不同的对象。

代码如下:

try
{
    List<SerializeCls> serclsres = new List<SerializeCls>();

    serclsres = pr2.FirstMethod();

    serclsres = pr1.GenerateFile();                        
    XmlSerializer xs = new XmlSerializer(typeof(List<SerializeCls>)); //SerializeCls//,extratypes//SerializeCls
    using (FileStream fs = new FileStream(string path, FileMode.Create))
    {                                
        xs.Serialize(fs,serclsres);
        fs.Close();
    }
    Console.WriteLine("Succesfully serialized to XML");
}
catch (Exception ex)
{
    Console.WriteLine(ex.ToString());
}

从上面的代码我想添加pr2.FirstMethod&amp; pr1.GenerateFile到列表对象serclsres 请帮我解决这个问题。我是C#的新手。

2 个答案:

答案 0 :(得分:3)

List<List<SerializeCls>> serclsres = new List<List<SerializeCls>>();
serclsres.Add(pr2.FirstMethod());
serclsres.Add(pr1.GenerateFile());

如果您希望某些serclsres包含List<SerializeCls>类型,则必须使用AddRange,如下所示:

List<SerializeCls> serclsres = new List<SerializeCls>();
serclsres.AddRange(pr2.FirstMethod());
serclsres.AddRange(pr1.GenerateFile());

答案 1 :(得分:0)

如果您有此错误"cannot convert from 'System.Collections.Generic.List<ConsoleTask5SerialwithAdd.SerializeCls>' to 'ConsoleTask5SerialwithAdd.SerializeCls'

试试这个

List<List<SerializeCls>> serclsres = new List<List<SerializeCls>()>;
serclsres.Add(pr2.FirstMethod());
serclsres.Add(pr1.GenerateFile());

因此,您将拥有一系列列表,即“列表列表”。