gpt4 book ai didi

c# - 我应该使用 "ref"通过引用方法来传递集合(例如 List)吗?

转载 作者:IT王子 更新时间:2023-10-29 04:01:53 37 4
gpt4 key购买 nike

我应该使用“ref”通过对方法的引用来传递列表变量吗?

是否不需要“ref”的答案(因为列表将是一个引用变量),但是为了便于阅读,将“ref”放入?

最佳答案

字典是引用类型,所以不可能按值传递,尽管对字典的引用是值。让我试着澄清一下:

void Method1(Dictionary<string, string> dict) {
dict["a"] = "b";
dict = new Dictionary<string, string>();
}

void Method2(ref Dictionary<string, string> dict) {
dict["e"] = "f";
dict = new Dictionary<string, string>();
}

public void Main() {
var myDict = new Dictionary<string, string>();
myDict["c"] = "d";

Method1(myDict);
Console.Write(myDict["a"]); // b
Console.Write(myDict["c"]); // d

Method2(ref myDict); // replaced with new blank dictionary
Console.Write(myDict["a"]); // key runtime error
Console.Write(myDict["e"]); // key runtime error
}

关于c# - 我应该使用 "ref"通过引用方法来传递集合(例如 List)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3473552/

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