FizzBuzz問題が1行で書けたのでその解説

C#
開発の人気オンラインコース ウェブ開発の人気オンラインコース

この記事は約 2 分で読めます。

みなさんこんにちは!ひろぽんです!

最近色々ありまして、Javascript⇒Boorstrap⇒Sass⇒Jqueryといろいろ渡り歩き、最終的にやっぱりC#が面白いとなり、C#をずーーーとやっています。

そこで勉強がてらC#でかの有名なFizzBuzzをやってみようと思いました。

ですが普通にFizzBuzzやってしまうと面白くない。多分5分でやっつけます。

なのでネスト無し。1行でFizzBuzzを表現!という条件のもとやってみたところ。。

10分でクリアしたので、今回はそのコードの全貌を解説していきたいと思います。

FizzBuzz1行のコード

            Enumerable.Range(1, 100).ToList().ForEach(num =>Console.WriteLine(num % 5 == 0 && num % 3 == 0 ? "FizzBuzz": num % 5 == 0 ? "Fizz": num % 3 == 0 ? "Buzz": num.ToString()));

可読性無視ですね。。笑

これだとさすがに読みにくいので改行をしてみました。

namespace Linq
{
    internal class Program
    {
        public static void Main(string[] args)
        {
            Enumerable.Range(1, 100).
                ToList().
                ForEach(num =>
                    Console.WriteLine(
                        num % 5 == 0 && num % 3 == 0 ? "FizzBuzz" 
                        : num % 5 == 0 ? "Fizz" 
                        : num % 3 == 0 ? "Buzz" 
                        : num.ToString()));
        }
    }
}

Enumerableで1から100までの数字のリストを作って、それに対し、LINQのForeachを回してるって感じですね!

条件部分は三項演算子で書きました。

割とシンプルにできた気がするのは私だけ??

エンジニアならUdemyでしょ!!

知ってるけどまだ使ったことないって人は是非

管理人はこれでフリーランスになり現在は月単価110万円 + 副業という形で稼ぐことができました。

開発の人気オンラインコース ウェブ開発の人気オンラインコース

関連記事

特集記事

コメント

この記事へのコメントはありません。

CAPTCHA


TOP