开发者社区> 问答> 正文

默认情况下,数组或列表是否通过c#中的引用传递?

有吗 还是为了加快我的程序,我应该通过引用传递它们? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-08 19:06:29 413 0
1 条回答
写回答
取消 提交回答
  • 该引用按值传递。

    .NET中的数组是堆上的对象,因此您有一个引用。该引用按值传递,这意味着调用者将可以看到对数组内容的更改,但是重新分配数组不会:

    void Foo(int[] data) { data[0] = 1; // caller sees this } void Bar(int[] data) { data = new int[20]; // but not this } 如果添加ref修饰符,则引用将通过引用传递-调用者将在上面看到任一更改。

    2020-02-08 19:06:39
    赞同 展开评论 打赏
问答分类:
C#
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载