0184仕様書無しさん
2018/07/08(日) 19:00:06.23いいコードですね
やはりif elseはゴミだったと思わせてくれる綺麗なコードです
このコードの素晴らしいポイントは
if elseによって結合されてしまった本来無関係なstatementが分割されて独立したexpressionに置き換わったことでしょう
expressionに置き換えればこのようにメソッドに抽出することが簡単にできます
int TotalSyokuhi => dataRows
.Where(d => 0.Equals(d["データ区分"]))
.Sum(d => (int) d["データ値"]);
expressionにフレンドリーな名前が付いてコードがより美しく明快になりましたね
if elseを使った惨めなコードではここまでたどり着くのは難しかったでしょう
そしてこのように美しく整列したコードではパターンが視覚的にはっきりと見えるようになります
いとも簡単に処理の共通性を抽出してメソッドにできるのです
int CalculateTotal(int dataKubum) => dataRows
.Where(d => dataKubun.Equals(d["データ区分"]))
.Sum(d => (int) d["データ値"]);
int TotalSyokuhi => CalculateTotal(0);
int TotalKonetsuhi => CalculateTotal(1);
素晴らしい
if elseのないコードは最高だ