私はMVCが初めてです。 少数のプロパティを持つStudent View Model StudentVMがあります。私のコントローラでリスト<>を同じ値の特定のプロパティでグループ化する
public class StudentVM
{
public int studentid { get; set; }
public string Name { get; set; }
public string Grade { get; set; }
public int Age { get; set; }
}
私は、リストにいくつかの値を追加している一部のリストは、同じグレードを持っていることを
List<StudentVM> studentList = new List<StudentVM>();
studentList.Add(new StudentVM {studentid=1,Name="John",Grade="A",Age=20 });
studentList.Add(new StudentVM { studentid = 1, Name = "John", Grade = "A", Age = 20 });
studentList.Add(new StudentVM { studentid = 2, Name = "Alex", Grade = "A", Age = 21 });
studentList.Add(new StudentVM { studentid = 3, Name = "David", Grade = "A", Age = 19 });
studentList.Add(new StudentVM { studentid = 4, Name = "Joe", Grade = "B", Age = 23 });
studentList.Add(new StudentVM { studentid = 5, Name = "Mark", Grade = "B", Age = 22 });
studentList.Add(new StudentVM { studentid = 6, Name = "Henry", Grade = "C", Age = 18 });
studentList.Add(new StudentVM { studentid = 7, Name = "Gergin", Grade = "C", Age = 20 });
studentList.Add(new StudentVM { studentid = 8, Name = "Jade", Grade = "C", Age = 25 });
var listOfStudents = studentList;
お知らせを言います。 (最初の4つのリストはGrade = "A"です)
同じリストを持ち、Gradeでグループ化された別のviewModelリストが必要です。
私の例を考えると、新しいViewModelリストには3つのリストが含まれている必要があります 1番目のリストには4つのリストが含まれている必要があります(同じグレードの学生が4人いるため)。 2番目のリストにはグレードBのリストが2つ含まれている必要があります 3番目のリストにはグレードCのリストが3つ含まれている必要があります
これはどのような方法ですか?
「これを行う方法はありますか?はい。ヒント:[Enumerable.GroupBy()](https://msdn.microsoft.com/en-us/library/bb534501(v=vs.110).aspx)です。行き、征服しなさい。ここでは宿題はしません。 – itsme86