/*チームクラス*/
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