gpt4 book ai didi

c# - 通过 ref 传递 List

转载 作者:行者123 更新时间:2023-11-30 13:39:38 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
passing in object by ref

使用下面的代码,输出将是:

Without:
With:1

代码:

    static void Main(string[] args)
{
var listWithoutRef = new List<int>();
WithoutRef(listWithoutRef);
Console.WriteLine("Without:" + string.Join(" ", listWithoutRef));

var listWithRef = new List<int>();
WithRef(ref listWithRef);
Console.WriteLine("With:" + string.Join(" ", listWithRef));
}

static void WithoutRef(List<int> inList)
{
inList = new List<int>(new int[] { 1 });
}

static void WithRef(ref List<int> inList)
{
inList = new List<int>(new int[] { 1 });
}

光看这个,我会说一个 List 在堆上,所以无论如何都是由 ref 传递的,所以它们应该是一样的?我误解了 ref 关键字吗?还是我遗漏了什么?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com