namespace Test
{
class Program
{
static void Main(string[] args)
{
A a = new A();
a.MyString = "Metallica ";
PrintA(a);
Console.WriteLine(a.MyString);
string name = "Linkin ";
Print(name);
Console.WriteLine(name);
Console.ReadLine();
}
static void PrintA(A a)
{
a.MyString = a.MyString + "Rocks";
Console.WriteLine(a.MyString);
}
static void Print(string text)
{
text = text + "Park";
Console.WriteLine(text);
}
}
class A
{
public string MyString { get; set; }
}
}
Выход:Является ли строка C# переданной по значению или переданной по ссылке?
Metallica Rocks
Metallica Rocks
Linkin Park
Linkin
Мой вопрос в том, что, если строка является ссылочным типом (т.е. класс) то почему она не изменяет значение переменной имя после метода Print() называется, как это происходит для ссылочной переменной «s член MyString.
«ссылочный тип» не означает, что он будет передан по ссылке. –
Не могли бы вы отменить мой ответ, который является неправильным, поэтому я могу удалить его. –