c# - 如何访问二维数组以输入学生的成绩?C#
问题描述
我正在尝试将二维数组中的学生姓名写入控制台,然后将成绩值读入二维数组中的正确位置。数组中的每个元素都有一个学生姓名和年级。谁能帮我澄清一下,如果这可行,我觉得我正处于精神突破的边缘。
static void AskNameForGrade()
{
for (int i = 0; i < nameAndGradeArray.GetLength(0); i++)
{
Console.WriteLine($"Please enter grade for {nameAndGradeArray[i]}");
for (int j = 0; j < nameArray.GetLength(1); j++)
{
string stringGrade = Console.ReadLine();
int.TryParse(stringGrade, out grade);
//read in grade to array match name shown
}
}
}
解决方案
你说你的数组是二维的,然后你尝试用一维访问它nameAndGradeArray[i]
——这行不通
您不需要/不应该有一个循环来存储成绩 - 循环从 0 开始,所以这样做可能会覆盖名称(假设 namearray 是一个错字),然后要求另一个成绩
假设您有一个 nameAndGradeArray,例如string[10,2]
,您将有一个循环从 0 运行到GetLenth(0)-1
(即 9)并打印它在 中找到的名称[i,0]
,然后询问成绩并将成绩存储为nameAndGradeArray[i,1] = stringGrade;
nameAndGradeArray 是(可能)一个二维字符串数组;你不能把一个 int 放进去。如果您使用 TryParse 来检查他们输入的数字,这是有道理的,但也许暂时不要考虑那种复杂性,只需询问成绩并存储它。如果名称已经在 nameAndGrade 的第一维中,也不需要 namearray(如果这不是错字)
这可能是一项学术练习,因此我将避免提出更深入的建议,但您将来可能不会过多使用 N 维数组,因为它们不是很有用。有一天,您会将其建模为一个具有字符串名称和数字等级的类,并且它将位于一个灵活的集合中,如 List..
推荐阅读
- c - Nouveau 驱动如何在 GPU 端分配内存?
- python-3.x - 在 Python 中格式化
- java - 为什么在 List 中允许 NULL 而在 Queue 接口中不允许?
- sql - 如何在 SQLITE 中进行多词部分搜索?
- python - 如何根据熊猫中的依赖值更新数据框?
- javascript - 根据另一个 div 标签动态改变 div 的位置
- python - “TypeError:列表索引必须是整数或切片,而不是 str”从 API (json) 的截断数据中收集数据时
- php - 未提交验证码时的警告徽标
- python - 根据标头将 WARC 文件拆分为块:WARC/1.0 Python
- file-io - `list-directed io syntax error` 从 Fortran 的第一行开始读取 CSV