string 즉, 문자열은 C#에서 변경되지 않습니다.그리고 참조 형식입니다.하지만, 동작은 값 형식과 똑같습니다.왜냐하면, 독립성을 보장하기 때문입니다. 많은 객체들이 한 참조를 가진다고 해도,변경이 가능하지 않다면 독립적인 객체입니다. 문자열이 절대로 바뀌지 않는다면,일부를 공유하는 독립적인 객체가 됩니다.따라서, 외부에서 공유를 하더라도 바뀌지 않습니다. 정리하자면,string은 참조형식이기는 하나, 값 형식과 똑같이 동작합니다.문자열을 값처럼 넘겨라? 틀린말이 아닙니다.