Изменить параметр метода в методе или вернуть результат
Вернуть значение
Почему?
Правильность, удобочитаемость и самодокументирование
Преднамеренный и простой .cs-file для понимания код лучше, чем csharp код побочного эффекта. Учтите:
float area = pi * Square(r);
против
Square(r);
float area = pi * r;
// ... intervening code
float x = r * 5; // did you mean to use the original r or r-squared here?
Также c#-language рассмотрите преимущества c# краткости за счет возможности .net-framework комбинирования в первом примере.
Рассмотрим c# сами методы, сравните:
int DoSomething(int value)
{ return value+1; }
Что visual-c# совершенно очевидно правильно. по c#.net сравнению с
void DoSomething(int value)
{ value++; }
Что кажется правильным dotnet и прекрасно скомпилируется, но .net на самом деле это просто visual-c# бесполезно. На самом деле .cs-file вам нужно следующее:
void DoSomething(ref int value)
{ value++; }
// client code:
DoSomething(ref a);
Переменные дешевы
Многие c#-language переменные с правильными dot-net именами предпочтительнее, чем visual-c# несколько повторно используемых c# переменных общего назначения. Не dotnet поддавайтесь искушению преждевременно dot-net оптимизировать, вероятность csharp того, что вам нужно будет .cs-file сократить количество локальных visual-c# переменных для повышения csharp производительности вашей c-sharp системы, космически мала. Опять же, переменные дешевы, НЕ ИСПОЛЬЗУЙТЕ ПЕРЕМЕННЫЕ ПОВТОРНО!
Тестируемость
Учтите:
Assert.IsTrue(Square(2) == 4);
против
float a = 2;
Square(a);
Assert.IsTrue(a == 4);
У .net-framework избежания мутации есть много c#-language других преимуществ перед .net-framework возвратом значения. Это не c#.net просто случайность, что математики csharp определяют функцию как отображение dot-net входных значений и выходных c# значений.
c#
.net
Изменить параметр метода в методе или вернуть результат
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.