Как искать в Arraylist - PullRequest
       1

Как искать в Arraylist

0 голосов
/ 14 августа 2011

Я создал массив данных типа Student. Student содержит название, информацию о субъекте. Предположим, что мой ArrayList имеет такие значения, как (sam, maths), (john, english), (mat, science). Если я хочу узнать, у какого студента есть научный поток, то как его найти в ArrayList.

Я думаю, что это может быть сделано с помощью методов binarysearch или indexof, но не получится правильно.

Ответы [ 2 ]

1 голос
/ 14 августа 2011

Почему вы создали массив списков студенческого типа?

Я совершенно уверен, что вам следует использовать общий список безопасных типов: 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

0 голосов
/ 05 октября 2011

Вот как я это сделал в конце. Извините, я забыл ответить на этот вопрос.

  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;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...