首页 >后端开发 >C++ >C# 中如何将数组传递给方法?

C# 中如何将数组传递给方法?

Linda Hamilton
Linda Hamilton原创
2025-01-10 10:47:41184浏览

How Are Arrays Passed to Methods in C#?

深入理解C#中数组的引用传递

C# 中,数组与基本数据类型不同,它属于引用类型。这就引出了一个问题:数组是如何传递给方法的?是值传递还是引用传递?

值传递

默认情况下,数组的引用是值传递的。这意味着会创建一个引用的副本并传递给方法。在方法内部对数组内容所做的更改将对调用代码可见,但任何对数组本身的重新赋值都不会传播回调用方。

引用传递

要修改引用本身,可以使用 ref 修饰符。通过引用传递数组,允许调用方看到对引用的任何更改,包括重新赋值。

示例

以下代码演示了值传递和引用传递之间的区别:

<code class="language-csharp">void Foo(int[] data) {
    data[0] = 1; // 调用方可见此更改
}
void Bar(ref int[] data) {
    data = new int[20]; // 调用方可见此更改
}</code>

调用 Foo 时,传递的是引用的副本。在 Foo 中更改数组的内容将在调用代码中可见。但是,在 Foo 中对数组的重新赋值将不会被调用方看到。

相反,当使用 ref 修饰符调用 Bar 时,传递的是引用本身。对引用的任何更改,包括重新赋值,都将在调用代码中可见。

以上是C# 中如何将数组传递给方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn