タプルのサンプル

クラスで実現するサンプル

Studentクラスからインスタンスを作成するパターンになります
一般的な方法で、クラス内のメンバーに対して情報を代入し利用します

var student = new Student("Taro", 70);

var students = new List<Student>
{
    student,
    new("Jiro",50),
    new("Saburo",30)
};

var selStudents = students.Where(student => student.Point > 50);

foreach (var selStudent in selStudents)
{
    Console.WriteLine(selStudent.Name);
}

class Student
{
    public Student(string name, int point)
    {
        Name = name;
        Point = point;
    }

    public string Name { get; set; }
    public int Point { get; set; }
}

結果

Taro

タプルで実現するサンプル

タプルも型なので、List<タプル>の書式が成り立ちます
結果はクラスを使ったのと同じですが、明示的なクラスを作成することなく利用することができます
スポット的に利用するには、簡易的な方法ですがこちらを使うのも一つです

var student = ("Taro", 70);
// (string name, int score) student = ("Taro", 70);

var students = new List<(string name, int score)>
{
    student,
    new("Jiro",50),
    new("Saburo",30)
};

var selStudents = students.Where(student => student.score > 50);

foreach (var (name, score) in selStudents)
{
    Console.WriteLine(name);
}

Taro

C#

Posted by hidepon