C#newbie正在处理一些教程.有没有办法在数组中的每个对象上运行相同的命令?
这是我目前的(工作)代码:
Guys[0].Cash += Guys[0].MyGuess.PayOut(WinnerNumber);
Guys[1].Cash += Guys[1].MyGuess.PayOut(WinnerNumber);
Guys[2].Cash += Guys[2].MyGuess.PayOut(WinnerNumber);
Run Code Online (Sandbox Code Playgroud)
我正在寻找能够做到这一点的事情:
Guys[X].Cash += Guys[X].MyGuess.PayOut(WinnerNumber);
Run Code Online (Sandbox Code Playgroud)
X =是第一个runthrough的第一个数字,然后是第二个runthrough的第二个数字,等等.
你有几个选择:
for(int i = 0; i < Guys.Length; i++) {
Guys[i].Cash += Guys[i].MyGuess.PayOut(WinnerNumber);
}
Run Code Online (Sandbox Code Playgroud)
foreach(var guy in Guys) {
guy.Cash += guy.MyGuess.PayOut(WinnerNumber);
}
Run Code Online (Sandbox Code Playgroud)
Array.ForEach(Guys, g => g.Cash += g.MyGuess.PayOut(WinnerNumber));
Run Code Online (Sandbox Code Playgroud)
对我来说,这些都是优先顺序.大多数人更喜欢for循环,因为这是对数组中每个项目按顺序执行某些操作的常见方法.它for和... 之间很接近foreach.