序論
こちらの記事は、sakano様の基礎から学ぶLINQの仕組みを自分なりに読み取った結果のアウトプット第一弾である。
こんな駄文を読むよりsakano様の記事を読むことをお勧めする。
sakano様の素晴らしい記事のリンク↓
https://qiita.com/sakano/items/d4ad645a20860c3a86c0
Genericsについて
これは、態々引数を変えてオーバーロードを書かなくて良いという点がある。
どういうものか?例えば、2数の大きさを比較して大きい数値を返してくれるものを考えよう
そういったときに、高々引数の型が違うだけで態々コードを追加しなければならないのか?
それは無駄な処理であるといえる。なぜ?Genericsで簡単に記述ができるからだ。
public static T Bigger<T>(T num1, T num2)
where T : IComparable<T>
{
if(num1.CompareTo(num2)>0) return num1;
return num2;
}
これで終わりだ。なぜ、普通にnum1>num2としないのかはGenericsだからと言わざるを得ない。どのような型が入るかわからないからいつもの演算子が使えないのである。よって、和を返す処理を書きたかったとしても結構面倒な処理があったので、今回は注意としてしか触れない。
かなり短いが、これくらいの方が書きやすいので以上とする。
もし、読んでくれた高スキルの方、私と同じレベルの方々へ。
何か問題点があれば是非ご教示願いたい。