Я хочу найти наилучший подход для преобразования bool[]
в object[]
в С#.NET 4.0.
Теперь у меня есть следующие переменные:
object[] objectArray = new object [] { true, false, true };
string[] stringArray = new string[] { "true", "false", "true" };
bool[] boolArray = new bool[] { true, false, true };
Все создаются отлично. Для "четких типов", как bool
и object
, бокс отлично работает (object o = true;
). Но в этом случае я могу преобразовать только из строкового массива в массив объектов, но не из логического массива:
objectArray = stringArray; // OK
objectArray = boolArray; // WRONG Cannot implicitly convert bool[] to object[]
Кроме того, в некоторых методах я отправляю список массивов объектов. Как и в предыдущем случае, я могу сделать это (преобразование) для строки, но не для логического массива:
List<object[]> testList;
testList = new List<object[]>() { objectArray }; // OK
testList = new List<object[]>() { stringArray }; // OK
testList = new List<object[]>() { boolArray }; // WRONG - I can not add bool[] into object[]
Из некоторых методов у меня есть логический массив с множеством элементов внутри... и последний метод после всех вычислений возвращает массив объектов в результате (иногда он должен возвращать другие типы, и я не хочу делиться это несколько методов).
В то время как я не могу использовать return_object_array = boolean_array
. Каков наилучший метод для этого? Перебирает ли все значения в булевом массиве и сохраняет его в массив объектов самым быстрым способом?
Каков наилучший/самый быстрый/самый правильный подход для этого?
Примечание. Этот метод написан в .NET 4.0, но если вы знаете лучшее решение для .NET 4.5, я бы хотел его знать.