我需要通过询问每个学生的编号来显示每个学生的成绩。每个学生的成绩与每个学生并列,可以是每个学生的阵列所在。学生编号是提示在阵列中询问搜索的内容。它可能是在一个短的两个班轮?
using System;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
string[] studentName = {"Bob","Marie","Nathan","Lois","Sam"};
string[] studentsNumber = {"040707701","040707702","040707703","040707704","040707705"};
string[] studentGrade = {"A","B","C","D","F"};
string studentsNumber = "";
Console.WriteLine("What is your student number");
Console.ReadLine(studentsNumber.ToString());
for(int index = 0, studentNumber[studentNumber - 1], index++)
{
Console.WriteLine(studentsNumber[index]);
onsole.WriteLine(studentName[],studentGrade[] {0} {1});
}
}
}
}
答案 0 :(得分:4)
由于这是作业,我不会直接给你答案,而是给你一个提示。
获得学号后,循环查看学生编号。找到匹配数字的索引后......您可以使用它来检索成绩。
但请记住,数组根本不是解决此问题的正确方法。为学生创建一个包括姓名,编号和成绩的课程,你会好得多。然后,您可以创建该类的实例,并将这些实例添加到您可以迭代的List中。
答案 1 :(得分:1)
拥有一个对象要好得多:
public class StudentInfo
{
public string Name {get; set;}
public string Grade {get; set;}
public int Number {get; set;}
}
然后有一个List<StudentInfo>
。
通过这种方式,您的数据将紧密结合在一起。否则,您最终可能会遇到每个阵列中的项目数不同的情况,并且您不知道哪个项目是哪个。
希望它有所帮助。
答案 2 :(得分:0)
伊克!
为什么不使用带有一点linq的匿名类?
var students = new[]
{
new { Name = "Bob", Number = "040707701", Grade = "A" },
...
};
var grade = students.Where(s => s.Number == "040707701").Select(s => s.Grade);