C#Listコレクション深度コピー(フロー方式)

519 ワード

        public List Clone(List inputList)
        {
            BinaryFormatter Formatter = new BinaryFormatter(null, new StreamingContext(StreamingContextStates.Clone));
            System.IO.MemoryStream stream = new System.IO.MemoryStream();
            Formatter.Serialize(stream, inputList);
            stream.Position = 0;
            var outList = Formatter.Deserialize(stream) as List;
            stream.Close();
            return outList;
        }