Obtenir une référence à un tableau struct within

Je veux modifier un champ d'une structure qui est à l'intérieur d'un tableau sans avoir à définir toute la structure. Dans l'exemple ci-dessous, je tiens à mettre un champ de l'élément 543 dans le tableau. Je ne veux pas avoir à copier l'ensemble des élément (parce que la copie MassiveStruct serait nuire à la performance).

class P
{
    struct S
    {
      public int a;
      public MassiveStruct b;
    }

    void f(ref S s)
    {
      s.a = 3;
    }

    public static void Main()
    {
      S[] s = new S[1000];
      f(ref s[543]);  //Error: An object reference is required for the non-static field, method, or property
    }
}

Est-il un moyen de le faire en C#? Ou dois-je toujours copier toute la structure de tableau, modifier la copie, puis placez la copie modifiée de retour dans un tableau.

source d'informationauteur kaalus | 2011-08-20