Edit

Share via


Compiler Error CS8171

Cannot initialize a by-value variable with a reference

Example

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.

To correct this error

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;
    }
}