gpt4 book ai didi

C# 如何用空值而不是零初始化通用 int 数组?

转载 作者:行者123 更新时间:2023-11-30 19:38:35 32 4
gpt4 key购买 nike

如果我声明如下:

    public T[] GetFoo<T>(int length)
{
return new T[length];
}

在客户端代码中,我这样调用上面的代码:

int[] foo = GetFoo<int>(3);

然后 foo[] 会像这样被初始化:

foo[0]=0;
foo[1]=0;
foo[2]=0;

有没有办法让它像这样初始化?

foo[0]=null;
foo[1]=null;
foo[2]=null;

我问是因为 '0' 有特殊含义,我想用 'null' 来代替表示数组元素尚未设置。请注意,我正在使用泛型,有时我不会使用 int 类型 - 例如,有时我可能会使用引用类型。

最佳答案

int是不能设置为 null 的值类型.如果要允许空值,则必须使用 Nullable<int> 作为你的类型参数,或者更简洁地int? .

int?[] foo = GetFoo<int?>(3);

关于C# 如何用空值而不是零初始化通用 int 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32101374/

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