这主要是一个理论问题,即我不需要实际解决方案,但在MS V C#2010中使用foreach
时需要使用以下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] ints = new int[7]{0,0,0,0,0,0,0};
foreach (int i in ints)
{
i = 10;
}
Console.ReadKey();
}
}
}
我收到的错误告诉我,我无法修改i,因为它是foreach
变量,现在如果我想我可以通过其他方式完成这个简单的任务,但事情是我没有在文档中看到任何不允许我正在尝试做的事情,我认为foreach
应该能够让你更改列表中的变量。
我有什么遗失的吗?
答案 0 :(得分:6)
如果你foreach
超过一个集合,你将获得只读的项目。如果将循环更改为传统的for
循环,则可以更改数组内容:
for (int index = 0; index < ints.Length; ++index)
{
ints[index] = 10;
}
答案 1 :(得分:2)
使用for循环,并使用ints [i]
修改值