C#Note | Visual Studio | MSDN | MSDN ライブラリ | VSUG |
901: 所属でグループ化して選手数を取得する。
(group)
/*チームクラス*/
public class Team {
    public string 名前 { get; set; }
    public string 所属 { get; set; }
 
    public override int GetHashCode() {
        int _HashCode = this.名前.GetHashCode() ^
            this.所属.GetHashCode();
        return _HashCode;
    }
    public override bool Equals(object obj) {
        return this.GetHashCode().Equals(obj.GetHashCode());
    }
    public override string ToString() {
        string _return = this.名前 + " > " + this.所属;
        return _return;
    }
}
 
private void button1_Click(object sender, EventArgs e) {
    Team[] _Team = {
                            new Team {名前 = "田中 達也",  所属 = "浦和"},
                            new Team {名前 = "安田 晃大", 所属 = "G大阪"},
                            new Team {名前 = "中沢 佑二", 所属 = "横浜"},
                            new Team {名前 = "二川 孝広", 所属 = "G大阪"},
                            new Team {名前 = "坂田 大輔", 所属 = "横浜"},
                            new Team {名前 = "阿部 勇樹",  所属 = "浦和"},
                            new Team {名前 = "山瀬 功治", 所属 = "横浜"},
                            new Team {名前 = "梅崎  司",  所属 = "浦和"}
                        };
    /* 所属でグループ化して選手数を取得する。 */
    var q = from x in _Team
            group x by x.所属 into g
            select new { _g所属 = g.Key,  _g選手数= g.Count()};
 
    foreach (var item in q) {
        Console.WriteLine("{0}/{1}", item._g所属, item._g選手数);
    }
}

浦和/3
G大阪/2
横浜/3
902:
903:
904:
905:
906:
907:
908:
909:
910:
 
この Web サイトに関する感想などについては、takamorimail@yahoo.co.jpまで電子メールでお送りください。ただし、技術的な質問にはお答えできません。
Copyright (C) 2008 Takamori