我有一个名为“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;
}
答案 0 :(得分: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);
答案 1 :(得分: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;
}