gpt4 book ai didi

c# - 我如何判断 int[] 是否尚未分配任何内容?

转载 作者:太空宇宙 更新时间:2023-11-03 17:09:42 25 4
gpt4 key购买 nike

如果我有这个:

int[] lstAFewInts = new int[NUMBER_OF_STARS_IN_THE_MILKY_WAY];

...如果方法还没有赋值,我想退出它,我该如何测试它?是吗:

if (lstAFewInts[0] == null)

...或者???

最佳答案

我的建议:提高抽象级别。

class LazyArray<T>
{
private T[] array;
private int size;
public LazyArray(int size) { this.size = size; }
public bool IsInitialized { get { return this.array != null; } }
public T this[int x]
{
get
{
return this.array == null ? default(T) : this.array[x];
}
set
{
if (this.array == null) this.array = new T[size];
this.array[x] = value;
}
}
}

你已经完成了:你有一个任意大小的数组,你知道它是否已经被使用过:

void M()
{
var myArray = new LazyArray<int>(whatever);
while(whatever)
{
if (whatever) myArray[whatever] = whatever;
}
if (myArray.IsInitialized)
whatever;
}

关于c# - 我如何判断 int[] 是否尚未分配任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10356327/

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