C#二维数组中如何遍历指定列并统计性别字符串出现次数?
解决方案
你的二维数组创建是正确的,要统计男女歌手数量,核心是遍历数组的每一行,取出**第二列(性别,索引为1)**的值来判断计数。以下是完整的实现步骤和代码:
步骤说明
- 初始化两个计数器,分别记录男性和女性歌手的数量
- 遍历数组的每一行,取出该行的性别字段
- 根据性别值更新对应计数器
- 将统计结果赋值给对应的标签
完整代码示例
// 你的歌手数组 string[,] singers = { {"Beyonce", "F"}, {"David Bowie", "M"}, {"Hikaru Utada", "F"}, {"Madonna", "F"}, {"Elton John", "M"}, {"Koji Tamaki", "M"} }; // 初始化计数器 int maleCount = 0; int femaleCount = 0; // 获取数组的总行数 int totalRows = singers.GetLength(0); // 遍历每一行 for (int i = 0; i < totalRows; i++) { // 取出当前行的性别(第二列,索引为1) string gender = singers[i, 1]; // 判断性别并更新计数 if (gender == "M") { maleCount++; } else if (gender == "F") { femaleCount++; } } // 将结果显示到标签(假设标签控件名为lblMale和lblFemale) lblMale.Text = $"男性歌手:{maleCount} 人"; lblFemale.Text = $"女性歌手:{femaleCount} 人";
关键说明
- C# 中二维数组的索引格式为
[行索引, 列索引],索引从0开始,所以性别列对应的是索引1 singers.GetLength(0)用于获取数组的总行数(第一维度的长度),GetLength(1)则是总列数- 如果是WPF项目,标签的内容属性是
Content而非Text,只需把lblMale.Text改成lblMale.Content即可
内容的提问来源于stack exchange,提问作者Shane_Tater
相关产品推荐
相关产品推荐

