-6
私はLinqを初めて利用しています。私には2つのリストがあり、1つは学生リストであり、もう1つはマークリストです。学生には、ID、名前、マークリストID(sid)、マーク、サブジェクトがあります。生徒の身分証明書、氏名、合計得点を取得する必要があります。私は以下のようにコードに近づいています。Linqは2つのリストの間で結合する
class Student
{
public int Id { get; set; }
public string name { get; set; }
}
class Marks
{
public int Sid {get;set;}
public int mark {get;set;}
public string subjects {get;set;}
}
class Program
{
static void Main(string[] args)
{
//student
List<Student> studentList = new List<Student>()
{
new Student() { Id = 1, name = "A" },
new Student() { Id = 2, name = "B" }
};
//marks
List<Marks> markList = new List<Marks>()
{
new Marks() { Sid = 1, mark = 30, subjects = "A1" },
new Marks() { Sid = 1, mark = 40, subjects = "A2" },
new Marks() { Sid = 2, mark = 40, subjects = "B1" },
new Marks() { Sid = 1, mark = 50, subjects = "B2" }
};
var result=(from stu in studentList
join mar in markList
on stu.Id equals mar.Sid
select new
{
stu.Id,
stu.name,
mar.mark,
mar.subjects
})
.GroupBy(x => x.subjects).ToList();
上記のLinqクエリは私の要件を満たしていません。助言がありますか?
より読み取り可能コードをインデントするためにあなたの質問を編集してくださいためのマークの一覧コレクション初期化子を使用すると、より多くのコードを読みやすくコンパクトに書くことができます。さて、実際の出力は何ですか?そして、あなたの望む出力は何ですか? 「自分の要件を満たしていない」以上の情報を提供してください。 Stack Overflowの目的は、質の高い質問と回答のリポジトリを作成することであることを忘れないでください。 –
結合を使用してください。ウェブページをご覧ください:https://code.msdn.microsoft.com/LINQ-Join-Operators-dabef4e9 – jdweng