0

我有一个名为“PopulateNameArray”的方法和另一个名为“FindStudentPosition”的方法。

在 FindStudentPosition(string name, string[] array) 中,我有

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;

    }
4

2 回答 2

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);
于 2013-09-27T20:46:50.470 回答
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;
}
于 2013-09-27T20:48:48.823 回答