Как искать элемент массива и отображать - PullRequest
0 голосов
/ 07 февраля 2012

Мне нужно показать оценку каждого ученика, спросив его номер.Оценка каждого студента связана с каждым студентом, может быть местом каждого из них.Номер Студента - это то, что предлагается задать для поиска в массиве.Может ли это быть сделано в коротких двух лайнерах?

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 ]

4 голосов
/ 07 февраля 2012

Так как это домашняя работа, я не собираюсь давать вам ответ прямо, но вместо этого дам вам подсказку.

Как только у вас будет номер студента, переберите массив номеров студентов. Как только вы найдете индекс соответствующего числа ... вы можете использовать его для получения оценки.

Имейте в виду, однако, что массивы не являются правильным способом решения этой проблемы вообще. Вам было бы гораздо лучше создать класс для ученика, который включал бы имя, номер и оценку. Затем вы можете создать экземпляры класса и добавить эти экземпляры в список, который затем можно будет перебрать.

1 голос
/ 07 февраля 2012

Было бы намного лучше иметь объект:

public class StudentInfo
{
   public string Name {get; set;} 
   public string Grade {get; set;} 
   public int Number {get; set;} 
} 

А потом есть List<StudentInfo>.

Делая так, ваши данные будут тесно связаны. В противном случае вы можете оказаться в ситуации, когда у вас будет разное количество элементов в каждом массиве, и вы не будете знать, какой из них какой.

Надеюсь, это поможет.

0 голосов
/ 07 февраля 2012

крон!

Почему бы не использовать анонимный класс с небольшим количеством linq?

var students = new[]
{
    new { Name = "Bob", Number = "040707701", Grade = "A" },
    ...
};

var grade = students.Where(s => s.Number == "040707701").Select(s => s.Grade);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...