csharp,using System;class Program,{, static void Main(), {, string[,] studentData = new string[2, 3] { {"001", "张三"}, {"002", "李四"} };, for (int i = 0; iConsole.WriteLine("学号: {0}, 姓名: {1}", studentData[i, 0], studentData[i, 1]);, }, },},
“
在C#中,二维数组是一种非常有用的数据结构,可以用来存储具有多个属性的数据集合,如果我们想存储学生的学号和姓名,可以使用一个二维数组来实现,下面是详细的说明和示例代码:
我们需要定义一个二维数组来存储学号和姓名,假设我们有5个学生的信息需要存储,我们可以定义一个包含5行2列的二维数组,其中每一行代表一个学生的信息,第一列存储学号,第二列存储姓名。
string[,] studentInfo = new string[5, 2];
我们需要将每个学生的学号和姓名填充到二维数组中,可以通过嵌套循环或者直接指定索引的方式来进行赋值。
for (int i = 0; i < 5; i++) { Console.WriteLine("请输入第" + (i + 1) + "个学生的学号:"); studentInfo[i, 0] = Console.ReadLine(); Console.WriteLine("请输入第" + (i + 1) + "个学生的姓名:"); studentInfo[i, 1] = Console.ReadLine(); }
studentInfo[0, 0] = "20240001"; studentInfo[0, 1] = "张三"; studentInfo[1, 0] = "20240002"; studentInfo[1, 1] = "李四"; studentInfo[2, 0] = "20240003"; studentInfo[2, 1] = "王五"; studentInfo[3, 0] = "20240004"; studentInfo[3, 1] = "赵六"; studentInfo[4, 0] = "20240005"; studentInfo[4, 1] = "孙七";
填充完二维数组后,我们可以遍历该数组以输出所有学生的学号和姓名,可以使用嵌套循环来实现。
for (int i = 0; i < 5; i++) { Console.WriteLine("学号: " + studentInfo[i, 0] + ", 姓名: " + studentInfo[i, 1]); }
以下是一个完整的示例程序,展示了如何使用二维数组存储和处理学生的学号和姓名:
using System; class Program { static void Main() { // 定义二维数组 string[,] studentInfo = new string[5, 2]; // 填充二维数组 for (int i = 0; i < 5; i++) { Console.WriteLine("请输入第" + (i + 1) + "个学生的学号:"); studentInfo[i, 0] = Console.ReadLine(); Console.WriteLine("请输入第" + (i + 1) + "个学生的姓名:"); studentInfo[i, 1] = Console.ReadLine(); } // 输出二维数组中的内容 Console.WriteLine(" 所有学生的信息如下:"); for (int i = 0; i < 5; i++) { Console.WriteLine("学号: " + studentInfo[i, 0] + ", 姓名: " + studentInfo[i, 1]); } } }
学号 | 姓名 |
20240001 | 张三 |
20240002 | 李四 |
20240003 | 王五 |
20240004 | 赵六 |
20240005 | 孙七 |
问题1:如果我想动态地添加或删除学生信息,应该怎么办?
回答:二维数组的大小是固定的,如果需要动态地添加或删除学生信息,可以考虑使用List<Tuple<string, string>>
或其他更灵活的数据结构,这样可以方便地进行元素的添加、删除和查找操作。
using System; using System.Collections.Generic; class Program { static void Main() { List<Tuple<string, string>> studentInfo = new List<Tuple<string, string>>(); // 动态添加学生信息 studentInfo.Add(new Tuple<string, string>("20240001", "张三")); studentInfo.Add(new Tuple<string, string>("20240002", "李四")); // ...可以根据需要继续添加 // 输出学生信息 foreach (var info in studentInfo) { Console.WriteLine("学号: " + info.Item1 + ", 姓名: " + info.Item2); } // 动态删除学生信息(例如删除第一个学生) studentInfo.RemoveAt(0); } }
问题2:如何根据学号查找对应的学生姓名?
回答:可以通过遍历二维数组或列表来查找对应学号的学生姓名,以下是使用二维数组的示例:
Console.WriteLine("请输入要查找的学号:"); string searchId = Console.ReadLine(); bool found = false; for (int i = 0; i < 5; i++) { if (studentInfo[i, 0] == searchId) { Console.WriteLine("找到学生姓名: " + studentInfo[i, 1]); found = true; break; } } if (!found) { Console.WriteLine("未找到对应的学生信息。"); }
这个示例程序会提示用户输入要查找的学号,然后在二维数组中进行查找,并输出对应的学生姓名,如果没有找到对应的学号,则会提示“未找到对应的学生信息”。