Использование метода SetValue массива против индексаторов []

Я заметил, что массивы имеют метод SetValue, который кажется немного неуместным, когда вы можете просто использовать индексаторы. Есть ли какая-то особая цель для SetValue? В статье MSDN, похоже, не говорилось, Для чего SetValue, просто как его использовать. Какой метод будет более эффективным для использования в отношении скорости?

1 ответов


иногда все, что у вас есть массива, это то, что это Array. The Array класс не имеет индексаторов, поэтому лучший способ установить / получить значения элементов на нем-через GetValue и SetValue методы. Например:

private void M(Array array) 
{
    array[0] = 5;         // <-- Compiler error
    array.SetValue(5, 0); // <-- Works
}