这段代码是否创建了临时字符串?

Lyr*_*yrk 1 c#

此代码是否采用x并直接更改其内容或创建临时新字符串然后复制到x?

如果后者是真的,我不明白为什么我们使用ref.

public static void RemoveSpaces(ref string x)
    {
        x = x.Replace(" ", "");
    }
Run Code Online (Sandbox Code Playgroud)

Dab*_*bas 5

是的,它会创建新的字符串.
你在string它上面做的任何操作都会创建它的新字符串,因为它string是不可变的类型.