需要帮助理解代码

2 c# arrays

我正在学习C#课程,我需要帮助理解以下代码.

代码有一个数组,表示对调查的响应,值为1到10.

输出显示这些评级以及选择值的次数.

以下代码来自我的书,但我已将其修改为一个基本示例.

int[] responses = { 3, 2, 5, 6, 3, 5 , 4, 5, 5, 5};
int[] frequency = new int[7];


for (int answer = 0; answer < responses.Length; answer++)
   ++frequency[responses[answer]];

for (int rating = 1; rating < frequency.Length; rating++)
   Console.WriteLine(rating + ", " + frequency[rating]);

Console.Read();
Run Code Online (Sandbox Code Playgroud)

线路如何++frequency[responses[answer]];工作?在看这个时,如果我reponses[answer]第一次通过循环,这将代表responses[0]哪个是3,正确吗?这是我感到困惑的++frequency地方,这条线的部分是什么?

Coo*_*une 5

frequency[responses[answer]] = frequency[responses[answer]] + 1;
Run Code Online (Sandbox Code Playgroud)

编辑:我认为这样写是非常不清楚的.作为个人偏好,我不喜欢对存在大量索引的元素使用一元操作(++ x,x ++等).