什么是做在C / C#/ C ++向后循环的最佳方式? [英] What's the best way to do a backwards loop in C/C#/C++?
本文介绍了什么是做在C / C#/ C ++向后循环的最佳方式?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要通过一个数组向后移动,让我有code是这样的:
的for(int i = myArray.Length - 1; I> = 0;我 - )
{
// 做一点事
myArray的[I] = 42;
}
是否有这样做的更好的办法?
更新:我希望,也许C#有这个像一些内置的机制:
foreachbackwards(INT我在myArray的)
{
// 太简单
}
更新2:这里的是的更好的方法。符文会得到奖金有:
的for(int i = myArray.Length;我 - 大于0;)
{
//做一点事
}
//要么
的for(int i = myArray.Length;我 - 大于0;)
{
// 做一点事
}
它看起来甚至更好的常规的C(感谢Twotymz):
的for(int i = lengthOfArray;我 - ;)
{
//做一点事
}
解决方案
虽然承认有点晦涩,我会说,这样做的最赏心悦目的排版方式是
的for(int i = myArray.Length;我 - 大于0;)
{
//做一点事
}
I need to move backwards through an array, so I have code like this:
for (int i = myArray.Length - 1; i >= 0; i--)
{
// Do something
myArray[i] = 42;
}
Is there a better way of doing this?
Update: I was hoping that maybe C# had some built-in mechanism for this like:
foreachbackwards (int i in myArray)
{
// so easy
}
Update 2: There are better ways. Rune takes the prize with:
for (int i = myArray.Length; i-- > 0; )
{
//do something
}
//or
for (int i = myArray.Length; i --> 0; )
{
// do something
}
which looks even better in regular C (thanks to Twotymz):
for (int i = lengthOfArray; i--; )
{
//do something
}
解决方案
While admittedly a bit obscure, I would say that the most typographically pleasing way of doing this is
for (int i = myArray.Length; i --> 0; )
{
//do something
}
这篇关于什么是做在C / C#/ C ++向后循环的最佳方式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文