Je veux trouver la meilleure approche pour convertir bool[]
en object[]
en C# .NET 4.0.
Maintenant, j'ai ces variables :
object[] objectArray = new object [] { true, false, true };
string[] stringArray = new string[] { "true", "false", "true" };
bool[] boolArray = new bool[] { true, false, true };
Tous sont bien créés. Pour les "types clairs", comme bool
y object
, boxe fonctionne bien ( object o = true;
). Mais dans ce cas, je ne peux effectuer la conversion que d'un tableau de chaînes de caractères vers un tableau d'objets, mais pas d'un tableau de booléens :
objectArray = stringArray; // OK
objectArray = boolArray; // WRONG Cannot implicitly convert bool[] to object[]
De plus, dans certaines méthodes, j'envoie une liste de tableaux d'objets. Comme dans le cas précédent, je peux le faire (conversion) pour une chaîne de caractères, mais pas pour un tableau de booléens :
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[]
A partir de certaines méthodes, j'ai un tableau de booléens avec de nombreux éléments à l'intérieur ... et la dernière méthode, après tous les calculs, renvoie un tableau d'objets comme résultat (parfois il doit retourner d'autres types et je ne veux pas le diviser en plusieurs méthodes).
Alors que, je ne peux pas utiliser return_object_array = boolean_array
. Quelle est la meilleure méthode pour y parvenir ? La méthode la plus rapide consiste-t-elle à boucler sur toutes les valeurs d'un tableau de booléens et à les stocker dans un tableau d'objets ?
Quelle est la meilleure approche / la plus rapide / la plus correcte pour y parvenir ?
Note : Cette méthode est écrite sous .NET 4.0, mais si vous connaissez une meilleure solution pour .NET 4.5, j'aimerais la connaître.