Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Tablice jednowymiarowe, które mają dolną granicę zerową, automatycznie implementują wartość IList<T>. Dzięki temu można tworzyć metody ogólne, które mogą wykorzystywać ten sam kod do iterowania przez tablice i inne typy kolekcji. Ta technika jest szczególnie przydatna do odczytywania danych w kolekcjach. Interfejs IList<T> nie może służyć do dodawania ani usuwania elementów z tablicy. Wyjątek zostanie zgłoszony, jeśli spróbujesz wywołać metodę IList<T> , taką jak RemoveAt na tablicy w tym kontekście.
W poniższym przykładzie kodu pokazano, jak pojedyncza metoda ogólna, która przyjmuje IList<T> parametr wejściowy, może iterować zarówno przez listę, jak i tablicę, w tym przypadku tablicę liczb całkowitych.
class Program
{
static void Main()
{
int[] arr = [0, 1, 2, 3, 4];
List<int> list = new List<int>();
for (int x = 5; x < 10; x++)
{
list.Add(x);
}
ProcessItems<int>(arr);
ProcessItems<int>(list);
}
static void ProcessItems<T>(IList<T> coll)
{
// IsReadOnly returns True for the array and False for the List.
System.Console.WriteLine
("IsReadOnly returns {0} for this collection.",
coll.IsReadOnly);
// The following statement causes a run-time exception for the
// array, but not for the List.
//coll.RemoveAt(4);
foreach (T item in coll)
{
System.Console.Write(item?.ToString() + " ");
}
System.Console.WriteLine();
}
}