我们怎样才能在C#整数数组中找到项目数?

Ned*_*Ned 7 c# arrays integer count

我需要在C#数组中查找项目计数,其类型为整数.

我的意思是;

int[] intArray=new int[10]
int[0]=34
int[1]=65
int[2]=98
Run Code Online (Sandbox Code Playgroud)

intArray的项目数为3.

我在下面找到了strArray的代码,但它不适用于int数组.

string[] strArray = new string[50];
...
int result = strArray.Count(s => s != null);
Run Code Online (Sandbox Code Playgroud)

its*_*e86 8

好吧,首先你必须决定什么是无效的值.是0吗?如果是这样,你可以这样做:

int result = intArray.Count(i => i != 0);
Run Code Online (Sandbox Code Playgroud)

请注意,这只能起作用,因为默认情况下,int数组的元素初始化为零.如果0在您的情况下最终有效,则必须事先用不同的无效值填充数组.

另一种方法是使用可空类型:

int?[] intArray = new int?[10];
intArray[0] = 34;
intArray[1] = 65;
intArray[2] = 98;

int result = intArray.Count(i => i.HasValue);
Run Code Online (Sandbox Code Playgroud)