C# Error
CS8171 – Cannot initialize a by-value variable with a reference
Reason for the Error & Solution
Cannot initialize a by-value variable with a reference
Example
The following sample generates CS8171:
// CS8171.cs (8,13)
class Test
{
void A()
{
int a = 123;
ref int x = ref a;
var y = ref x;
}
}
Remember that var y = ref x
is implicitly int y = ref x
where int y
is a by-value variable.
To correct this error
Removing the ref
modifier from the right side of the assignment will correct this error:
class Test
{
void A()
{
int a = 123;
ref int x = ref a;
var y = x;
}
}