Мне нужно сохранить несколько значений в списке или массиве на мгновение. Эти значения нескольких типов как строки, межды, дата и время и т.д.Список/массив значений с несколькими различными типами
У меня есть два варианта:
Варианта 1:
Объявите массив с типом объекта, как это:
object[] values;
Вариант 2:
Объявить массив для интерфейса и реализовать собственные классы для хранения каждого типа.
interface IType
{
}
IType[] values;
class StringValue : IType
{
public string StringValue { get; set; } // not declared in interface!
}
class IntValue : IType
{
public int IntValue { get; set; } // not declared in interface!
}
Вопрос:
Какие выгоды производительности и/или последствия для каждого из вариантов реализации? Насколько я знаю (или желаю), boxinq имеет собственное влияние на производительность при использовании object[]
.
Как насчет варианта два? По крайней мере, с помощью StringValue
или IntValue
недвижимости требуется больше кода, первый тип должен быть определен, IType
должен быть преобразован в StringValue или IntValue и т.д. ...
Есть так большое влияние на производительность с помощью object[]
, что я действительно должен думать о чем-то вроде варианты 2?
Перед тем, как беспокоиться о производительности, КОГДА-ЛИБО, просто реализуйте и записывайте свой код, а ТЕСТ ТЕСТ ТЕСТ, и посмотрите, есть ли проблема с производительностью, тогда вы можете оптимизировать **, если необходимо ** –
Конечно! Я уже реализовал опции 1, и потому что знаю (не оценил!), Будут некоторые проблемы, я просто думаю, как я могу улучшить свой код. Может быть, вопрос в том, чтобы больше узнать, что может быть лучше, чем варианты 1 .... – Harza
Просить «лучше» не поможет - вам нужно уточнить, в каком смысле. – Oded