大学の同期のコード こんな回り道をしなくても……
//落第しているかの判定
bool failFlg = false;
//もしも一つでも30点以下の科目があればfailFlgをtrueに
var fail = scoreList.Where(a => a.Score < 30).Count() > 0;
//判定
if (fail == true)
{
failFlg = true;
}
//failFlgによって分岐処理
switch (failFlg)
{
case true:
Console.WriteLine("You failed");
failWorks();
break; ;
case false:
Console.WriteLine("You passed");
passWorks();
break;
default:
break;
}
使い方ヒント: 「これは臭う」という行を見付けたら、各行の
をクリックしてマーキングしておきましょう(要Twitter OAuth認証)
Console.WriteLine(scoreList.Any(a => a.Score < 30) ? "You failed" : "You passed");
でワンライナーですねー
ちなみにこれだと落第基準が30点 未満 になるので、コメントどおり 以下 にするなら < ではなく <= です
投稿者のコードが冗長なのは同意だとして、 #2 のワンライナーもこれはこれで過剰に縮めすぎな印象はある。
人が読んで保守することに重きを置くなら、もうっちょと意味単位に分割してもよい。
failWorks()とpassWorks()があるけど、それでも判定は
if(scoreList.Any(a => a.Score < 30))
で十分だし
はやっぱり💩
コメント投稿には、twitter認証が必要です。
Twitter認証
switch が無駄なんじゃなくて、全部が全部無駄なんじゃないかと、、、ほぼワンライナーで書けると思うぞ ^^;