using System.Collections.Generic;
using System.Xml.Serialization;
public static void Main()
XmlSerializer xmlSerializer = new XmlSerializer(data.GetType());
using (StringWriter textWriter = new StringWriter())
xmlSerializer.Serialize(textWriter, data);
var result = textWriter.ToString();
private List<Slow> slowField;
private List<Fast> FastField;
[XmlElement("SLOW", Type = typeof(Slow))]
[XmlElement("FAST", Type = typeof(Fast))]
public List<Base> Complete => GetMergedList();
private List<Base> GetMergedList()
int minLen = Math.Min(SLOW.Count, FAST.Count);
var list = SLOW.Take(minLen)
.Zip(FAST.Take(minLen), (a, b) => new Base[] { a, b })
.SelectMany(array => array)
.Concat(SLOW.Skip(minLen))
.Concat(FAST.Skip(minLen));
public int Value { get; set; }
public int Value { get; set; }