Вот мой текущий код подкачки для замены 2 объектов KeyValuePair в массиве:
KeyValuePair<int, T> t = a[i];
a[i] = a[j];
a[j] = t;
Будет ли какое-то преимущество в скорости использования небезопасного кода и простого обмена указателями двух объектов? Или компилятор эффективно сводит этот безопасный код к эффективному выполнению именно этого?