Avoid using ref and out parameters unless absolutely necessary
Do
void DoSomething(int x, out int y)
{
y = x * 2;
}
Don't
void DoSomething(ref int x, out int y)
{
x = 10;
y = 20;
}
Do
void DoSomething(int x, out int y)
{
y = x * 2;
}
Don't
void DoSomething(ref int x, out int y)
{
x = 10;
y = 20;
}