c# - 需要帮助理解代码

标签 c# arrays

我正在上 C# 类(class),我需要帮助来理解以下代码。

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

输出会显示这些评分以及某个值被选中的频率。

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

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();

++frequency[responses[answer]]; 是如何工作的?在看这个时,如果我在循环中第一次采用 reponses[answer],这将表示 responses[0],这将是 3,对吗?这是我感到困惑的地方,这行的 ++frequency 部分是做什么的?

最佳答案

frequency[responses[answer]] = frequency[responses[answer]] + 1;

编辑:我认为这样写是很不清楚的。作为个人喜好,我不喜欢对存在大量索引的元素使用一元运算(++x、x++ 等)。

关于c# - 需要帮助理解代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/890567/

相关文章:

javascript - C# 本地函数与 JavaScript 嵌套函数之间有什么区别?

c# - Task.ContinueWith 方法需要任务参数吗?

c# - 在复选框更改事件上禁用表格行

python - 根据其内容将 numpy 数组拆分为类似的数组

c# - 如何制作一个弹出面板来加载网页,例如 .aspx 页面中的调查?

const数组的C++长编译时间

java - java中基于其他数组对数组进行排序

python - 更新 2D numpy 数组值

c++ - 将 C++ 字节数组转换为 C 字符串

c# - 如何在 Xamarin.Forms 上使用 System.Data.SQLite Interop.dll?