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