public IList<Student> GetStudentList()
{
var students = new List<Student>();
if(getOtherSchoolStudents)
{
var otherSchoolStudents = GetOtherSchoolStudents();
students.AddRange(otherSchoolStudents);
}
var currentSchoolStudents = GetCurrentSchoolStudents();
students.AddRange(currentSchoolStudents)
return students;
}
Здесь, когда getOtherSchoolStudents
равно true
, я бы хотел запустить методы GetOtherSchoolStudents()
и GetCurrentSchoolStudents()
параллельно.Я понимаю, что могу переместить GetCurrentSchoolStudents()
изнутри в область условий и запустить их параллельно, как показано ниже
public IList<Student> GetStudentList()
{
var students = new List<Student>();
if(getOtherSchoolStudents)
{
var otherSchoolStudents = GetOtherSchoolStudents(); // run in parallel
var currentSchoolStudents = GetCurrentSchoolStudents(); // run in parallel
students.AddRange(otherSchoolStudents);
students.AddRange(currentSchoolStudents)
}
else
{
var currentSchoolStudents = GetCurrentSchoolStudents();
students.AddRange(currentSchoolStudents);
}
return students;
}
Есть ли другой способ сделать это?