【问题标题】:zero pading the end of list in multiples of random number in c#在c#中以随机数的倍数填充列表末尾的零
【发布时间】:2015-05-20 09:58:11
【问题描述】:

你好,我有一个类似这样的列表:

List<float> myList = new List<float>();

我在列表中填写了一个数字(来自麦克风的样本)。最终的计数是未知的。

我在 8820 的跳转中使用 for 循环在列表上运行(这个数字可以更改,我们称之为 X)。 但有时我会得到一个例外,即我的循环索引超出范围。我必须用零填充列表的末尾,这样整个列表将是 8820(X) 的倍数。

有没有有效的方法来做到这一点? 谢谢

【问题讨论】:

  • 你能展示你的循环吗?
  • 为什么不能在到达列表末尾时跳出循环?
  • 尝试使用模运算符和.Count() 函数来确定您需要遍历循环的次数。
  • 另外,"The Count number in the end is unknown." 是什么意思。什么意思?

标签: c# list arraylist


【解决方案1】:

当您达到列表计数时,您可以中断循环!

或者您可以在列表的末尾添加一些零,如下所示:

int X=8820;
for (int i = 0; i < X - (myList.Count / X); i++)
    myList.Add(0f);

【讨论】:

  • 谢谢,打破循环帮助了我。
【解决方案2】:

试试这个:

// Declare and initialize variables
List<int> MyList = new List<int>();
Random r = new Random();
int LoopJumps = r.Next(2,30);
MyList.AddRange(Enumerable.Range(0, r.Next(1, 100));

// the loop code
for(int i=0; i < MyList.Count; i+= LoopJumps) {
    if(i >= MyList.Count) break;
    // Do your thing...
}

【讨论】:

    猜你喜欢
    • 2017-06-17
    • 1970-01-01
    • 2021-01-03
    • 2015-05-17
    • 2014-12-30
    • 2019-09-25
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多