我需要向后移动一个数组,所以我有这样的代码:
for (int i = myArray.Length - 1; i >= 0; i--)
{
// Do something
myArray[i] = 42;
}
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?
更新:我希望C#可能有一些内置机制,如:
foreachbackwards (int i in myArray)
{
// so easy
}
Run Code Online (Sandbox Code Playgroud)
更新2:有是更好的方法.符文获奖:
for (int i = myArray.Length; i-- > 0; )
{
//do something
}
//or
for (int i = myArray.Length; i --> 0; )
{
// do something
}
Run Code Online (Sandbox Code Playgroud)
在常规C中看起来更好(感谢Twotymz):
for (int i = lengthOfArray; i--; )
{
//do something
}
Run Code Online (Sandbox Code Playgroud) 我相信(从一些研究阅读中),在for循环中倒计时实际上在运行时更有效,更快.我的完整软件代码是C++
我目前有这个:
for (i=0; i<domain; ++i) {
Run Code Online (Sandbox Code Playgroud)
我的'i'是unsigned resgister int,'domain'也是unsigned int
在for-loop中,i用于遍历数组,例如
array[i] = do stuff
Run Code Online (Sandbox Code Playgroud)
把它转换成倒计时会弄乱我的例行程序的预期/正确输出.
我可以想象答案是微不足道的,但我无法理解它.
更新:'do stuff'不依赖于之前或之后的迭代.for循环中的计算与i的迭代无关.(我希望这是有道理的).
更新:要使用我的for循环实现运行时加速,我是否倒计时,如果是这样,在删除我的int时删除未签名的部分,或者其他什么方法?
请帮忙.
对于这个 Pythonfor循环:
for i in range(n-2,-1,-1):
Run Code Online (Sandbox Code Playgroud)
C++ 中的等效代码语法是什么?