我有一个具有两个属性“名称”和“年龄”的自定义类“学生”。
在我的主要方法中,我创建了这个自定义类的列表List,并向List添加了4个Student对象。
我的问题是,如何使用对象的任何属性获得对象之一的索引?

例如,如何获取Student('Dido',18)的索引?

void main() {
  List<Student> studentsList = [];
  studentsList.add(Student('Jack', 16));
  studentsList.add(Student('Tamer', 17));
  studentsList.add(Student('Dido', 18));
  studentsList.add(Student('Lili', 15));
}

class Student{
  String name;
  int age;
  Student(this.name, this.age);
}

最佳答案

您可以使用indexWhere
以下代码已在Dardpad中进行了测试
完整的代码

import 'dart:async';
import 'dart:io';
import 'dart:core';
import 'dart:convert';
import 'dart:html';

class Student{
  String name;
  int age;
  Student(this.name, this.age);
}

main()  {

  List<Student> studentsList = [];

  studentsList.add(Student('Jack', 16));
  studentsList.add(Student('Tamer', 17));
  studentsList.add(Student('Dido', 18));
  studentsList.add(Student('Lili', 15));

  int index = studentsList.indexWhere((st) => st.name=='Dido' && st.age==18);
  print(index);

}

10-08 16:34