System.BitArray implémente uniquement l'élément IEnumerable non générique, qui renvoie un objet pour la propriété IEnumerator.Current. Est-ce que l'exécution d'une foreach sur un bitArray - par exempleEst-ce que l'énumération d'un BitArray cause beaucoup de boxe/unboxing?
foreach (bool b in bitArray)
{
// ...
}
et unbox chaque valeur de bit? En regardant l'énumérateur de bitarray dans le réflecteur, on dirait qu'il fait un nouveau bitmask à chaque appel de MoveNext() plutôt que quelque chose de plus intelligent. Existe-t-il un moyen plus efficace d'énumérer un BitArray, ou un remplacement pour BitArray qui a les mêmes caractéristiques de stockage? (Liste <bool> etc utilise un octet par bool, plutôt que d'un seul bit, donc utilise 8x autant d'espace)