De data aceasta vom avea un articol puțin altfel. Nu vom mai prezenta noțiuni noi, urmate de exemple, ci vom începe direct cu exemplele. Vor fi diverse situații în care șirurile sunt utilizate greșit. Nu vom explica ce se întâmplă și de ce nu este corect (sau recomandabil) să facem anumite lucruri. Va trebui să vă dați seama singuri (preferabil înainte să încercați să executați instrucțiunile respective).
Să începem cu următorul program simplu:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class Exemplu { public static void Main() { int[] sir = new int[1000000000]; for (int i = 0; i < 1000000000; i++) { sir[i] = i + 1; } foreach (int element in sir) { System.Console.WriteLine(element); } } } |
Să trecem mai departe:
1 2 3 4 5 6 7 8 9 10 11 12 |
public class Exemplu { public static void Main() { int[] sir = {2, 4, 5, 7}; System.Console.WriteLine(sir[0]); System.Console.WriteLine(sir[1]); System.Console.WriteLine(sir[2]); System.Console.WriteLine(sir[3]); System.Console.WriteLine(sir[4]); } } |
Aveam patru elemente și am vrut să scriem cinci. Să încercăm doar cu patru:
1 2 3 4 5 6 7 8 9 10 11 |
public class Exemplu { public static void Main() { int[] sir = {2, 4, 5, 7}; for (int i = 1; i <= 4; i++) { System.Console.WriteLine(sir[i]); } } } |
Ok, să nu mai forțăm nota cu marginile șirului. Vom afișa un element din mijloc:
1 2 3 4 5 6 7 8 |
public class Exemplu { public static void Main() { int[] sir = new int[4]; System.Console.WriteLine(sir[1]); } } |
Dar, dacă am avea string-uri?
1 2 3 4 5 6 7 8 |
public class Exemplu { public static void Main() { string[] sir = new string[4]; System.Console.WriteLine(sir[1]); } } |
Să mergem puțin mai departe:
1 2 3 4 5 6 7 8 |
public class Exemplu { public static void Main() { string[] sir = new string[4]; System.Console.WriteLine(sir[1].Length); } } |
Cam atât... Putem trage câteva concluzii: trebuie întotdeauna să fim atenți la dimensiunile șirurilor pe care le utilizăm și să nu accesăm elemente "din afara" șirurilor. De asemenea, este important să dăm o valoare unui element al șirului înainte de a-l utiliza. Observăm că elementele primesc valori oricum, dar sunt situații în care valorile respective nu sunt chiar ceea ce ne-am aștepta să fie.
În încheiere, imaginați-vă ce-ar fi dacă am folosi sir[i] și i ar fi -1!