我知道C#中的"string"是一个引用类型.这是在MSDN上.但是,此代码不能正常工作:
class Test
{
public static void Main()
{
string test = "before passing";
Console.WriteLine(test);
TestI(test);
Console.WriteLine(test);
}
public static void TestI(string test)
{
test = "after passing";
}
}
Run Code Online (Sandbox Code Playgroud)
输出应该在"传递之前""传递之后",因为我将字符串作为参数传递并且它是引用类型,第二个输出语句应该识别在TestI方法中更改了文本.但是,我在"通过之前""在通过之前"得到它似乎是通过值传递而不是通过ref.我知道字符串是不可变的,但我不知道这将如何解释这里发生的事情.我错过了什么?谢谢.
我试图用另一个字符串替换字符串的一部分.更确切地说,我有 C:\Users\Desktop\Project\bin\Debug
我试图取代\bin\Debug 与\Resources\People
我尝试过以下方法:
path.Replace(@"\bin\Debug", @"\Resource\People\VisitingFaculty.txt");
path.Replace("\\bin\\Debug", "\\Resource\\People\\VisitingFaculty.txt");
以上两者似乎都不起作用,因为字符串保持不变并且没有任何替换.难道我做错了什么?