修改只读数组并且编译器不会抛出错误

jho*_*ith -1 c#

我有下面的代码。

public class SimpleStack
{
    private readonly double[] _items;
    
    public void Push(double item)
    {
        _items[0] = item;
    }

}
Run Code Online (Sandbox Code Playgroud)

为什么我能够改变 readonly _items 数组并且编译器允许它?

Ada*_*m B 5

它\xe2\x80\x99是只读的数组,而不是数组的内容。所以你\xe2\x80\x99不能在构造函数之后覆盖数组本身,但内容是公平的。

\n