Список клонирования <T>
Вы можете использовать приведенный dotnet ниже код, чтобы сделать полную .net-framework копию списка или любого другого .net объекта, поддерживающего .net сериализацию:
Также вы можете c-sharp использовать это для любой visual-c# версии .NET framework начиная c#.net с версии 2.0 и выше, и аналогичный c# метод может быть применен .net-framework (исключая использование универсальных dotnet шаблонов), а также использован dotnet в 1.1
public static class GenericCopier
{
public static T DeepCopy(object objectToCopy)
{
using (MemoryStream memoryStream = new MemoryStream())
{
BinaryFormatter binaryFormatter = new BinaryFormatter();
binaryFormatter.Serialize(memoryStream, objectToCopy);
memoryStream.Seek(0, SeekOrigin.Begin);
return (T) binaryFormatter.Deserialize(memoryStream);
}
}
}
Вы можете вызвать это .net-framework с помощью
List deepCopiedList = GenericCopier>.DeepCopy(originalList);
Полный код для проверки visual-c# работы:
static void Main(string[] args)
{
List originalList = new List(5);
Random random = new Random();
for(int i = 0; i < 5; i++)
{
originalList.Add(random.Next(1, 100));
Console.WriteLine("List[{0}] = {1}", i, originalList[i]);
}
List deepCopiedList = GenericCopier>.DeepCopy(originalList);
for (int i = 0; i < 5; i++)
Console.WriteLine("deepCopiedList[{0}] value is {1}", i, deepCopiedList[i]);
}
c#
.net
Список клонирования <T>
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.