嗨,我试图找到数组中的元素数
byte[] salt = new byte[32];
现在我只提到了大小 32 所以数组的Length属性和 Enumerable 的计数方法会给我32。
即使我将使用 for 或 foreach 或任何其他循环构造迭代此数组盐,它也会迭代 32 次,并且每个索引上的值为 0(即字节的默认值)
现在假设我这样做:
for (int i = 0; i < 5 ; i++)
{
salt[i] = 4-i;
}
而且我想知道从索引 0 开始在 Array 中顺序插入了多少个元素,在这里你可能会说你是在欺骗你迭代它 5 次并且你知道数字是 5 ,但是我有繁重的循环和其他逻辑(附加前置到另一个字节数组)。*我的问题是否有任何其他内置函数可以给我这个数字 5 ?*即使我迭代并检查第一个默认值并在那里中断循环并获取计数,但可能插入的最后一个值是 0 就像上面的 salt[4] 是 0 这样迭代会给我计数 4 这是不正确的. 如果我没记错的话,我认为当我们声明大小为 32 的数组时,保留 32 个连续内存字节以上,您可以在 0-31 的任何索引处自由插入,并且您有责任跟踪元素的位置、方式和数量被分配给 Array 。我希望你明白我的意思并提前感谢您的帮助。