EDIT: comme un intervenant l'a souligné, de mon origine de la mise en œuvre n'a pas fonctionné. Cette version fonctionne, mais est plutôt de l'onu-slick basées autour d'une boucle for.
Si vous êtes prêt à créer une extension de la méthode, vous pouvez essayer ce
public static T[] SetAllValues<T>(this T[] array, T value) where T : struct
{
for (int i = 0; i < array.Length; i++)
array[i] = value;
return array;
}
et ensuite appeler comme ça
bool[] tenTrueBoolsInAnArray = new bool[10].SetAllValues(true);
Comme alternative, si vous êtes heureux avec le fait d'avoir une classe de traîner, vous pouvez essayer quelque chose comme cela
public static class ArrayOf<T>
{
public static T[] Create(int size, T initialValue)
{
T[] array = (T[])Array.CreateInstance(typeof(T), size);
for (int i = 0; i < array.Length; i++)
array[i] = initialValue;
return array;
}
}
qui vous pouvez l'appeler comme les
bool[] tenTrueBoolsInAnArray = ArrayOf<bool>.Create(10, true);
Vous ne savez pas lequel je préfère, bien que je ne lurv les méthodes d'extension des lots et des lots en général.