는 cpy
값에 변화가 ori
값에 영향을주지 않습니다 참조 형처럼 행동하지 않기 때문에 문자열은 참조 형처럼 행동하지 않습니다 :문자열은 아래의 코드에서
class WebPage
{
public string Text;
}
// Now look at reference type behaviour
WebPage originalWebPage = new WebPage();
originalWebPage.Text = "Original web text";
// Copy just the URL
WebPage copyOfWebPage = originalWebPage;
// Change the page via the new copy of the URL
copyOfWebPage.Text = "Changed web text";
// Write out the contents of the page
// Output=Changed web text
Console.WriteLine ("originalWebPage={0}",
originalWebPage.Text);
두 사람은 참조 형식이있는 동안 동작 클래스와 문자열 사이에 다른 이유는 누군가가 나를 알 수 있습니까?
문자열은 변경할 수 없으며 변경할 수 없습니다. – Saggio
내가 말할 수있는 가장 좋은 것은 참조 유형의 작동 방식을 조회하는 것입니다. –
사실, 아니요, 클래스는 다른 행동을 취하지 않습니다. 당신은 당신의 예제에서 두가지 다른 일을하고 있습니다 : 문자열의 경우,'string' 변수'cpy' 자체에 새로운 값 (''text 2 "')을 할당합니다. 클래스'WebPage'의 경우, 변수'copyOfWebPage' (참조되는 인스턴스)의 * 속성 * ('Text')에 새로운 값 (''변경된 웹 텍스트 ''')을 할당하면됩니다. –