2013-09-27 2 views
0

У меня есть один метод под названием «PopulateNameArray» и другой метод «FindStudentPosition».Сравнение содержимого элементов массива строк с именами

В FindStudentPosition (имя строки, строка [] массив), у меня есть

INT intLocation = -1;

В цикле мне нужно сравнить содержимое текущего элемента массива строк с именем студента. Если имена совпадают, присвойте номер элемента intLocation После того, как нашли, выйдете из цикла

Как я должен это делать? Поскольку параметр в FindStudentPosition является другим массивом, чем где хранятся имена, как я могу заставить его проверить этот массив в цикле?


public static void PopulateNameArray(string[] names) 
    { 
     Console.WriteLine("*Names Of The Students*"); 
     Console.WriteLine("--------------------- \n"); 

     int intNumber = 5; 
     for (int i = 0; i < intNumber; i++) 
     { 
      Console.Write("Please Enter A Name: "); 
      names[i] = Console.ReadLine(); 
     } 

    }   

    private static int FindStudentPosition(string name, string[] array) 
    { 

     int intLocation = -1; 

     for() 
     { 


     break; 
     } 

     return intLocation; 

    } 

ответ

0

Попробуйте использовать

private static int FindStudentPosition(string name, string[] array) 
{ 
    int intLocation = -1; 
    //loops through all array elements 
    for (int i = 0; i < array.Length; i++;) 
    { 
     //checks if array element matches name 
     if (array[i] == name) 
     { 
      //displays message and stores position in intLocation 
      Console.WriteLine("Matches Name " + i); 
      intLocation = i; 
      break; // break when match found 
     }  
    } 
    return intLocation; 
} 
1

Это уже реализовано для вас, с Array.IndexOf способом:

int index = Array.IndexOf(array, name); 

Или использовать тот факт, что массив реализует IList<T> и использовать IList<T>.IndexOf:

// IndexOf is implemented explicitly 
IList<string> list = array; 
int index = list.IndexOf(name); 
+0

Он должен быть обозначен в петле. Цикл, который должен пройти, - это всего 5 имен, которые пользователь вводит. – user2824965

+0

Проверьте документацию. 'Array.IndexOf' будет прокручивать содержимое и находить индекс или возвращать -1, если не совпадают. – Romoku

+0

@ user2824965: Хорошо, если вам нужно реализовать это самостоятельно, что вы пробовали? Вам нужно передать массив в метод. Честно говоря, я смущен тем, что у вас проблемы. –

Смежные вопросы