如何搜索数组元素并显示

时间:2012-02-07 00:07:42

标签: c# arrays string

我需要通过询问每个学生的编号来显示每个学生的成绩。每个学生的成绩与每个学生并列,可以是每个学生的阵列所在。学生编号是提示在阵列中询问搜索的内容。它可能是在一个短的两个班轮?

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

3 个答案:

答案 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);