IT

【C#入門】switch/ifの使い分けを現役エンジニアが解説

C#勉強中です。switch文とif文ってどちらも条件分岐だと思いますが、使い分けってあるんですか?教えてください。

そんな疑問に回答します。

 

本記事を読むと以下のことがわかるようになります。

  • switch文、if文とは
  • switch/ifの使い分け
  • 未経験からプログラミングをマスターするためにやるべきこと

 

本記事を書いている僕はこんな人です。

この記事を書いている人

  • 年齢:34歳
  • 住まい:東京都内
  • 仕事:フリーランスエンジニア
  • 主な言語:C#

 

僕自身は、C#を最初に勉強してから10年以上経過しています。

経験値もあるのでそこそこ詳しいほうだとは思います。

現役エンジニアの立場から、今回は未経験からC#を勉強している方に向けてなるべくわかりやすく解説していきます。

 

3分ほどで読み終わるので、よかったら最後までご覧ください。
サカイ

【C#入門】switch/ifの使い分けを現役エンジニアが解説

switch文、if文の使い分けについて説明する前に、それぞれどんなものなのかをかんたんに解説していきます。

 

switch文、if文とは?【それぞれ解説】

switch文、if文のどちらも同じく、

【条件分岐】ができる文法です。

 

条件分岐とはつまり、条件によってプログラムの処理の流れを変える役割です。

これによって複雑な処理のシステムを構築することが可能になります。

 

具体的にswitch文、if文それぞれどんな風に記述するのかを簡単に紹介していきますね。

switch文の記述方法

switch文は、以下のような記述方法です。

int num = 1;
switch (num)
{
	case 1:
		Console.WriteLine("1です");
		break;
	case 2:
		Console.WriteLine("2です");
		break;
	case 3:
		Console.WriteLine("3です");
		break;
	default:
		Console.WriteLine("その他です");
		break;
}

 

if文の記述方法

if文は、以下のような記述方法です。

int num = 1;
if (num == 1)
{
	Console.WriteLine("1です");
}
else if (num == 2)
{
	Console.WriteLine("2です");
else if (num == 3)
{
	Console.WriteLine("3です");
else
{
	Console.WriteLine("その他です");
}

 

ポイント①基本はif文で実装する

switch/ifの使い分ポイント1つ目は、【基本はif文で実装する】ということです。

 

厳密にどちらを使うべきかは、処理速度の違いを比較すべきでしょう。

しかし、多くのシステムの場合は処理速度を気にするほどの問題はありません。
(特にifにするか、switchにするかという論点において)

 

ある種、好みで選んでもいいとさえ僕は考えています。

好みはさすがに言い過ぎだとしても、多くの条件分岐ではif文のほうが登場頻度が高いのが一般的です。

if文で実装してもswitch文で実装してもあまり変わらなのであれば、一般的に使われやすいほうを選んでおいたほうが無難と言えます。

 

ポイント②switch文のほうがスッキリ書ける

基本はif文といいましたが、switch文にまったく出番がないわけではありません。

switch文で書いたほうがスッキリと書ける場合には、switch文を選択するのがベターです。

 

たとえば、

  • 1つの変数で条件分岐する場合
  • if文だとコードが見にくくなる場合

などはswitch文にすべきでしょう。

可読性の観点から言うと、if文よりも圧倒的にswitch文のほうが見やすいので、あとから別の開発者が見た際にも修正を施しやすいといったメリットがあります。

 

未経験からなるべく早くC#をマスターしたい方向けの話

未経験からC#を勉強している方は、なるべく早く習得して稼いでいけるようになりたいですよね。

独学で勉強してもいいのですが、早くマスターしたいならプログラミングスクールに通うほうが絶対に良いです。

 

昨今は自宅で学べるオンライン型のプログラミングスクールもたくさんあるので、自分に合ったスクールを選ぶとよいでしょう。

たくさんありすぎてどれにすればいいかわからない!

という方は、

をオススメします。

 

  • 日本最大級のプログラミングスクール
  • 未経験から最短4週間でプロになれる
  • 自宅で学べる完全オンライン型

といった特徴があるのでまず間違いはありません。

 

C#を学びたい方なら、中でもUnityコースが適しています。

ゲーム開発を学びつつ、C#の基礎基本から実務レベルまで学べますよ。

詳しくはこちらの記事をご覧ください。

【テックアカデミー】Unityコースでゲームエンジニアに転職しよう

 

今なら無料体験もあるので、まずは無料でやってみて合ってるか確認するのがいいでしょう。

 

「テックアカデミーを実際に受講した人の評判・口コミを知りたい!」

「テックアカデミーを受けるメリット・デメリットを知りたい!」

そんな方はこちらの記事もご覧ください。

 

【必見】合わせて習得したいプログラミング言語

ここからはC#と合わせて習得したいプログラミング言語について話していきます。

 

どんな案件をやるにしても、1つの言語だけというよりは複数言語を合わせて仕事することが多いです。

C#と一緒に習得すべき言語とは何なのでしょうか?

 

フロントエンド系言語

いろんな意見があると思いますが、個人的にはフロントエンド系の言語がC#と合わせて習得すべきだと考えます。

いわゆるエンドユーザーから直接見える部分に関わる言語ですね。

C#という言語がバックエンド系なので、合わせて習得するならフロントエンドが良いでしょう。

 

1.HTML+CSS

Webサイトの基本はHTMLとCSSです。

これを理解していると、普段利用しているWebページを見て、「こんな感じなら自分でも作れるな」とか思うようになります。

※正確に言うとHTMLとCSSはプログラミング言語ではありませんが、ここでは広義の言語として同じくくりにしています。

 

2.JavaScript(ジャバスクリプト)

JavaScriptは、Webページを動的に表示するために用いられます。

これを習得すると、作れるシステムの自由度が広がります。

また、Node.jsやAngularなどのライブラリも充実しているため、できることの幅も年々広がっていて注目の言語です。

 

ちなみに、JavaScriptとJavaはまったく別の言語なので注意してください。

 

3.Bootstrap

Bootstrapは、Twitter社が開発したCSSのフレームワークのことを指します。

要するに、CSSでできるデザインをより簡単に作ることが可能になります。

メリットとしてレスポンシブ(ブラウザやスマホ・タブレットに限らず)にデザインを形成することができます。

 

おわりに【C#の基礎を身に付けてスキルアップしよう】

今回は、『【C#入門】switch/ifの使い分けを現役エンジニアが解説』というテーマでお話してきました。

 

同じ条件分岐なので、初心者の方は特にどう使い分けていいかわからないと思います。

結果だけ端的にいうと、どちらを使っても結果が変わらないのであればどっちでもいいというのが結論になります。

 

どっちでもいいのですが、あえて使い分けをするのであればポイントは以下のようになります。

ポイント

  • 基本はif文を使う
  • スッキリ書ける場合はswitch文を使う

本記事を読んだ方の学習に少しでもお役立ちできていれば幸いです。

 

以上となります。

  • この記事を書いた人

サカイユウヤ

エンジニアブロガー【経歴】1986年生まれ ▶ 茨城県出身 ▶ 大学で福島県へ ▶ 就職で東京 ▶ 某SIer企業で丸7年正社員として勤務 ▶ 独立してフリーランスエンジニア ● 2020年7月ブログスタート ● エンジニア歴12年(内フリーランス歴5年)

-IT
-, , , , , , , , ,

© 2022 さかこじぶろぐ Powered by AFFINGER5