Согласно в руководстве MSDN по передаче параметров ссылочного типа :
Когда вы передаете параметр ссылочного типа по значению, можно изменить данные, указанные напо ссылке, такой как значение члена класса.Однако вы не можете изменить значение самой ссылки;то есть вы не можете использовать одну и ту же ссылку для выделения памяти для нового класса и сохранения ее вне блока.Для этого передайте параметр, используя ключевое слово ref или out.
Таким образом, вы можете изменить исходный объект, но вы не можете изменить исходный объект для ссылки на другое место в памяти.Пример:
static void Main()
{
int[] integerArray = new int[8];
foo(integerArray);
}
private void foo(int[] myArray)
{
myArray[0] = 5; //this changes integerArray
myArray = new int[4]; //this does not change integerArray,
// ... but it would if you used ref or out
}
Так что разница имеет значение, хотя я не знаю конкретно о поведении Dispose()
.