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 に答える