Sobes.tech
Middle+
137
questionbank

Как хранить типы данных без использования unboxing?

Answer from AI

sobes.tech AI

Используя обобщения (Generics).

// Класс-контейнер для хранения значения любого типа без приведения типов
public class GenericContainer<T>
{
    public T Value { get; set; } // Свойство, хранящее значение типа T

    public GenericContainer(T value)
    {
        Value = value;
    }
}

// Пример использования
// Создание контейнера для int
var intContainer = new GenericContainer<int>(123);
int intValue = intContainer.Value; // Получение значения без unboxing

// Создание контейнера для string
var stringContainer = new GenericContainer<string>("Hello");
string stringValue = stringContainer.Value; // Получение значения без unboxing

// Создание контейнера для пользовательского типа
public class MyClass { public int Id { get; set; } }
var myObjectContainer = new GenericContainer<MyClass>(new MyClass { Id = 1 });
MyClass myObjectValue = myObjectContainer.Value; // Получение значения без unboxing