C# vs C/C++ – część 3 (foreach)

Bardzo cieszy mnie w C# obecność instrukcji foreach, gdyż bardzo przydawała mi się ona, gdy programowałam w PHP.

Jednak w przeciwieństwie do PHP C# nie pozwala na zmianę wartości danej kolekcji w tejże pętli.

4 myśli na temat “C# vs C/C++ – część 3 (foreach)”

  1. A propos foreach (pośrednio) to osobiście jestem pod wrażeniem iteratorów. Pomysł niby nie jest nowy, ale dopiero w C# jest pełna magia. Na przykład coś takiego:

    // klasa użytkownika implementująca interfejs IEnumerable w ten sposób,
    // że w pętli foreach można przejść cały plik czytając kolejne linie tekstu.
    TextFileIterator iterator = new TextFileIterator(„c:\\TextFile.txt”);

    foreach (string line in iterator)
    Console.WriteLine(line);

    To oczywiście prosty przykład – aktualnie pracuję nad kolekcją, która jest przechowywana na dysku twardym, nazwałem ją PersistentCollection i jest m.in. typem listy (IList). Kolekcja od początku do końca przechowywana jest na dysku, tak że jak program się wysypie czy zabraknie prądu to kolekcja i tak będzie zapamiętana. Teraz pracuję nad sortowaniem.

  2. Actually, in PHP you can change the value in the array.

    e.g.

    foreach($arr as &$val) { $val++; }

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *