gpt4 book ai didi

c# - 在 C# 中列出

转载 作者:太空狗 更新时间:2023-10-29 20:42:53 24 4
gpt4 key购买 nike

我无法理解 List<int> 背后的逻辑因为它打破了一些基本规则。

List<int>应该是值类型而不是引用类型。

  1. List<int>必须通过 ref如果必须在函数调用之间保留其值,则为关键字。所以这意味着它正在显示类似于 int 的值类型行为。
  2. 但是List<int>必须由新的运算符(operator)初始化。还有 List<int>也可以为空。这意味着引用类型行为。

可空类型不同,因为它不必由 new 运算符初始化。

我是不是看错了什么?

编辑-

我应该在原始问题本身中发布代码。但它遵循这里 -

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
ListTest d = new ListTest();
d.Test();
}
}

class ListTest
{
public void ModifyIt(List<int> l)
{
l = returnList();
}

public void Test()
{
List<int> listIsARefType = new List<int>();
ModifyIt(listIsARefType);
Console.WriteLine(listIsARefType.Count); // should have been 1 but is 0
Console.ReadKey(true);
}

public List<int> returnList()
{
List<int> t = new List<int>();
t.Add(1);
return t;
}
}
}

最佳答案

List is supposed to be of value type and not reference type.

错了! int是一个值类型。 List<int>是引用类型。

关于c# - 在 C# 中列出 <int>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3208574/

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