当我查询列表时,我希望至少有183个条目,但有时从项目中提取的结果计数低于183。我目前的修复方法应该是在计数小于183的情况下填充数组。

if (extractArray.Count() < 183) {
    int arraysize= extractArray.Count();
    var tempArr = new String[183 - arraysize];
    List<string> itemsList = extractArray.ToList<string>();
    itemsList.AddRange(tempArr);
    var values = itemsList.ToArray();
    //-- Process the new array that is now at least 183 in length
}

但我的解决方案似乎不是最好的。如果有任何其他的解决方案可以帮助我确保每次提取至少得到183个项目,我将不胜感激。

最佳答案

数组基类实现Resize方法

if(extractArray.Length < 183)
    Array.Resize<string>(ref extractArray, 183);

但是,请记住,调整大小对于性能是有问题的,因此只有在出于某种原因需要数组时,此方法才有用。如果你能切换到列表
而且,我假设这里有一个字符串的一维数组,所以我使用length属性检查数组中的有效项数。

09-30 21:51