我創建了一個Student
類型的數組列表。 Student
中有名稱,主題信息。假設我的ArrayList
具有像(sam,maths),(john,english),(mat,science)這樣的值。如果我想找出哪個學生有科學流,那麼如何在ArrayList
中搜索它。如何在Arraylist中搜索
我認爲這可能是通過使用binarysearch或indexof方法來完成的,但沒有把它做好。
我創建了一個Student
類型的數組列表。 Student
中有名稱,主題信息。假設我的ArrayList
具有像(sam,maths),(john,english),(mat,science)這樣的值。如果我想找出哪個學生有科學流,那麼如何在ArrayList
中搜索它。如何在Arraylist中搜索
我認爲這可能是通過使用binarysearch或indexof方法來完成的,但沒有把它做好。
多數民衆贊成我是如何做到底。對不起,我忘了回答這個問題。
public int search(object sender, List<albums> al)
{
int i = -1;
TextBox txt = (TextBox)sender;
foreach (albums dc in al)
{
if ((dc.artist == txt) ||(dc.tag == txt))
{
i = (al.IndexOf(dc));
}
}
return i;
}
爲什麼你創建了Student類型的數組列表?
我敢肯定,你應該有一個泛型類型安全的列表,請:List<T>
做你的搜索,你可以使用LINQ:
List<Student> students = new List<Student>();
students.Add(new Student { Lastname = "Smith" });
students.Add(new Student { Lastname = "Foo" });
students.Add(new Student { Lastname = "SmithFoo" });
students.Add(new Student { Lastname = "SmithBar" });
var searchResults = from student in students
where student.Lastname.StartsWith("Smith")
select student;
此代碼將在你的學生列表中搜索並返回三名學生:Smith,SmithFoo和SmithBar
感謝mmorel,我轉向列出泛型,它的工作非常完美。你可以看看我編輯過的代碼,看看我是如何搜索的。歡迎提出建議。 – Sandy
具體'ArrayList'是一個數組? – naveen
鑑於您使用C#4,爲什麼使用ArrayList而不是泛型集合? –
類型的學生課程。這個類有一個構造函數來設置名稱和主題的值。所以你可以說我們必須給namea和subject作爲參數,而add.like,list.Add(新生(約翰,數學)),其中list是數組列表的名稱 – Sandy