我离开了C#和MVC。我真的很挣以下错误,我真的没有看到它。我有一个限制列表,我想将他们的键添加到字符串[]。
int cntr = 0;
//loop through restrictions and add to array
foreach (var Restriction in this.admingroupRepository.Context.AdminRestrictions.ToList())
{
currentRestrictionKeys[cntr] = Restriction.Key;
cntr += 1;
}
这是我在cntr + = 1行上得到的错误:
Index was outside the bounds of the array.
我不明白这是从哪里来的,在cntr超出数组边界之前,foreach会断开吗?
答案 0 :(得分:2)
您为currentRestrictionKeys
分配的空间太少。但你根本不需要预先分配它;你可以使用LINQ的简单投影:
var currentRestrictionKeys = this.admingroupRepository.Context.AdminRestrictions
.Select(r => r.Key)
.ToArray();