Compiler Error CS8171
Cannot initialize a by-value variable with a reference
The following sample generates CS8171:
C#
// 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.
Removing the ref
modifier from the right side of the assignment will correct this error:
C#
class Test
{
void A()
{
int a = 123;
ref int x = ref a;
var y = x;
}
}
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.
.NET feedback
.NET is an open source project. Select a link to provide feedback: