Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Linee guida nella scrittura di codice #12: Uso degli Array

Pillole sulla buona scrittura del codice: gli array
Pillole sulla buona scrittura del codice: gli array
Link copiato negli appunti

Tutti sappiamo cosa sono gli array e cosa sono le collection ed anche quali sono a grandi linee le loro differenze. Non è però così scontato capire quando è opportuno usare l'uno piuttosto che l'altro. Infatti, sebbene questi due tipi sembrino sostanzialmente molto simili, in realtà  vi sono importati implicazioni relative alle performance.

L'uso delle collection, più onerose per la macchina, deve essere ristretto solo a quei casi in cui è necessaria la presenza di metodi Add e Remove per aggiungere o rimuovere elementi. Altrimenti è preferibile l'uso di un array.

Nell'uso degli array, uno dei primi suggerimenti da dare, è quello di non esporre un array private attraverso una proprietà  public perché in tal caso è comunque possibile, per il codice chiamante, modificare gli elementi dell'array.

Un esempio di questo lo vediamo nel seguente codice:

   public class SomeChars
   {
      private SomeChars(){}
      private static char[] myChars = {'1', '2', '3'};
      public static char[] GetMyChars
      {
        get
        {
           return myChars;
        }
      }
   }
   SomeChars.GetMyChars[0] = 'A';
   SomeChars.GetMyChars[1] = 'B';
   SomeChars.GetMyChars[2] = 'C';
   foreach (char c in SomeChars.GetMyChars)
   {
      Response.Write(c);
   }

Vedremo che l'array sarà  stato modificato.

Non utilizzare readonly per rendere non modificabile un array in quanto, come abbiamo visto prima, in ogni caso non sarà  modificabile l'array per intero ma i suoi singoli elementi lo saranno.

Una proprietà  o un metodo che espongono o ritornano un array non dovrebbero mai ritornare Null, ma più correttamente un array vuoto con zero elementi. In questo modo nel codice chiamante si potrà  semplicemente verificare che array.Length sia maggiore di zero per capire che l'array è pieno ed evitare invece anche il controllo che array sia diverso da null.

Ti consigliamo anche