Я пришел из C ++, где легко сделать что-то вроде этого:
template<class T>
void Swap(T &a, T &b)
{
T temp = a;
a = b;
b = temp;
}
, а затем использовать его для обмена значениями в контейнере:
std::vector<int> someInts;
someInts.push_back(1);
someInts.push_back(2);
Swap(someInts[0], someInts[1]);
Однако припытаясь сделать то же самое в C #
void Swap<T>(ref T a, ref T b)
{
T temp = a;
a = b;
b = temp;
}
Я получаю сообщение об ошибке: «свойство или индексатор не могут быть переданы как параметр out или ref»
Почему это так и как я могу преодолетьэто?
Большое спасибо