/*教科点数クラス*/
public class
Subject {
public
string 教科 { get;
set; }
public int
点数 { 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());
}
}
private void
button1_Click(object sender,
EventArgs e) {
Subject[] _Subject = {
new
Subject { 教科="国語",
点数=50},
new
Subject { 教科="算数",
点数=91},
new
Subject { 教科="理科",
点数=70},
new
Subject { 教科="社会",
点数=91}
};
/* 単純 */
Console.WriteLine("---
単純 ---");
var q1 =
from x in _Subject
select x;
foreach (var
item in q1) {
Console.WriteLine("{0}
/ {1}", item.教科, item.点数);
}
/* 教科しかいらない */
Console.WriteLine("---
教科しかいらない ---");
var q2 =
from x in _Subject
select x.教科;
foreach (var
item in q2) {
Console.WriteLine("{0}",
item);
}
/* 名前を変えて */
Console.WriteLine("---
名前を変えて ---");
var q3 =
from x in _Subject
select
new { きょうか = x.教科, てんすう = x.点数 };
foreach (var
item in q3) {
Console.WriteLine("{0}
/ {1}", item.きょうか, item.てんすう);
}
/* 点数10点水増し */
Console.WriteLine("---
点数10点水増し ---");
var q4 =
from x in _Subject
select
new {教科 = x.教科, 点数 = x.点数 + 10};
foreach (var
item in q4) {
Console.WriteLine("{0}
/ {1}", item.教科, item.点数);
}
}
--- 単純 ---
国語 / 50
算数 / 91
理科 / 70
社会 / 91
--- 教科しかいらない ---
国語
算数
理科
社会
--- 名前を変えて ---
国語 / 50
算数 / 91
理科 / 70
社会 / 91
--- 点数10点水増し ---
国語 / 60
算数 / 101
理科 / 80
社会 / 101