ref和out有什么区别? (C#)
发布时间:2020-12-15 20:47:53 所属栏目:百科 来源:网络整理
导读:有任何简洁的解释吗? 还回答: Difference between ref and out parameters in .NET 解决方法 对于来电者: 对于ref参数,必须已经明确赋值变量 对于out参数,变量不必明确赋值,但在方法返回后 对于方法: ref参数从明确分配开始,您不必为其分配任何值 out参
有任何简洁的解释吗?
还回答: 解决方法
对于来电者:
>对于ref参数,必须已经明确赋值变量 对于方法: > ref参数从明确分配开始,您不必为其分配任何值 所以: int x; Foo(ref x); // Invalid: x isn't definitely assigned Bar(out x); // Valid even though x isn't definitely assigned Console.WriteLine(x); // Valid - x is now definitely assigned ... public void Foo(ref int y) { Console.WriteLine(y); // Valid // No need to assign value to y } public void Bar(out int y) { Console.WriteLine(y); // Invalid: y isn't definitely assigned if (someCondition) { // Invalid - must assign value to y before returning return; } else if (someOtherCondition) { // Valid - don't need to assign value to y if we're throwing throw new Exception(); } else { y = 10; // Valid - we can return once we've definitely assigned to y return; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |