C#字符串仍然不可变吗?

时间:2019-05-31 14:39:58

标签: c# string immutability

我正在学习C#,并被告知字符串是不可变的,这意味着一旦为它们分配了值,就不能更改该值。但是,事实并非如此。参见下面的代码:

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            string myString = "Hello World";
            myString = "Hello Stack Overflow";
            Console.WriteLine(myString);
        }
    }
}

// Output: 
// Hello Stack Overflow

如果我理解正确,则行myString = "Hello Stack Overflow"会产生错误,但不会。我可以轻松地成功更改字符串的值。

我是误解了这个概念,还是改变了字符串的不变性?

0 个答案:

没有答案