class OutReturnExample
{
static void Method(out int i, out string s1, out string s2)
{
i = 44;
s1 = "I've been returned";
s2 = null;
}
static void Main()
{
int value;
string str1, str2;
Method(out value, out str1, out str2);
// value is now 44
// str1 is now "I've been returned"
// str2 is (still) null;
}
我是新來的C#和學習了修改。我碰到this snippet on MSDN。
我知道out
在這裏對於int原始變量很有用,但對於字符串變量,即使沒有out
修飾符,引用也會傳遞給被調用的方法,對吧?
不,不對。如果字符串參數未標記爲out,則s1和s2將被視爲局部變量。不要在參考文獻本身,而是參考參考文獻時考慮ref和out。 –
對於引用類型(例如字符串),引用將按值傳遞。這意味着您可以更改實例的內容,但不能更改引用本身。在字符串的情況下,你甚至不能更改內容,因爲它們是不可變的。 – CodesInChaos