MENU

【C#】Switchとif文の使い分け

前置き

 地方の中小企業でプログラミングをして、4年ほどになりますが、唐突にとある疑問が頭に浮かびました。
「if文とswitch文って何が違うん?」

もちろんこれは文法がわからないとか書き方がわからないとかではなく、単純に「どうやって使い分けるの?」という疑問です。

プログラミングを学習しているときにIF文とswitch文は必ず出てきます。研修を受けているときもそうですし、本などでも出てきます。

 

IF文だけで、書けてしまう。

 

そうなんです。switch使わなくてもif文でやりたい処理を実装できるんですよね。

その結果本来は、switch文で書いた方が品質が上がる処理もif文で書いてしまいます。

結果if文しか使わないからswitchを使わなくなってしまいます。

 

switch文とif文の違い

前置きが長くなりなりましたが、swicth文とif文の違いは以下の通りです。

 

switch:特定の変数の値によって処理を分岐させる場合

if:それ以外(大雑把でごめんよ)

 

こんなことだけで伝わるのは多分最初から分かっている人だけだと思うので実際に例にしてみてみましょう。

 

switch文の方が適しているパターン

順位に応じて賞金を判断する処理の例を以下にしました。

switch

        /// <summary>
        /// ランクで賞金を判断する
        /// </summary>
        /// <param name="rank">順位</param>
        /// <returns>賞金</returns>
        public int JudgePrize(int rank)
      {
            int prize = 0;
          switch (rank)
            {
                // 1位の賞金 100万円
                case 1:
                    prize = 1000000;
                    break;

              // 2位の賞金 99万円
                case 2:
                    prize = 990000;
                    break;
                // 3位の賞金 50万円
                case 3:
                    prize = 500000;
                    break;
              default:
                    prize = 0;
                    break;
          }
            return prize;
      }

if文


        /// <summary>
        /// ランクで賞金を判断する
        /// </summary>
        /// <param name="rank">順位</param>
        /// <returns>賞金</returns>
        public int JudgePrize(int rank)
      {
            int prize = 0;
            if(rank == 1)
            {
                // 1位の賞金 100万円
                prize = 1000000;
            }
            else if(rank == 2)
            {
                // 2位の賞金 99万円
                prize = 990000;
            }
            else if(rank == 3)
            {
                // 3位の賞金 50万円
                prize = 500000;
            }
            else
            {
                prize = 0;
          }
            return prize;
      }

 

このように変数rankの値だけで処理を分岐させる場合はswitch文を採用することで打ち間違いのリスクを減らすことができます。
if文で記載した場合以下のような打ち間違いがあってもコンパイルエラーにならないので、動作確認するまで打ち間違いに気づかなかったりします。

 
            if(rank == 1)
            {
                // 1位の賞金 100万円
                prize = 1000000;
            }
            else if(rank == 1)
            {
                // 2位の賞金 99万円
                prize = 990000;
            }
 

 

対してswitch文の場合は以下画像のようにコンパイルエラーとなりますので、ビルド時に気づくことができます。そのため、1つの変数の値だけで処理を分岐させる場合はswitchで記載する方が打ち間違いのリスクが減るのでおすすめです

 

まとめ

このようにswitch文を使用したほうが良い場合もありますので、これを機に使ってみてくださいませ。又、switichを使用することでソースコードの可読性も上がります。

switch(変数)を見ただけで変数の値で分岐していることが一目でわかります。

if文の場合は最後のif~else まで見ないと判断できません。

ですので、1つの変数の値で処理を分岐させる場合はswitch文を使用してみてください。

格安SIMならこの2択!!

 格安SIMとは読んで字のごとく安いSIMです。大手キャリアと比較するととても値段が安いことから、年々格安SIMの利用者が増えてきている印象ですね。格安SIMへの移行を考えている方々の中には以下のような悩みありませんか?

格安SIM気になるけど、いっぱいあってどれを選べばいいかわからない。」

 

本記事ではそんなお悩みを解決できるように私のおすすめのサービスをご紹介します。

 

格安SIMとは

IIJやmineoなどの「MVNO(仮想移動体通信事業者)」が提供するサービス

 

◆ざっくりとした月額料金◆ 大手通信事業者の月額プラン :6000円~8000円
格安SIM(MVNO)の月額プラン:2000円~

 

格安SIMの特徴は冒頭でも述べた通り安価な料金プランが特徴です。

ではなぜそのような特徴があるのでしょうか。

それはMVNO(格安で通信サービスを提供する事業者)が自前の通信網を持たないからです。

MVNOはNTT、auソフトバンクなどの回線をまとめて借りて、契約者に提供しています。

回線を小分けにして、通信速度やデータ通信量を制限することで料金を下げることができます。

 

おすすめの格安SIM

私がお勧めする格安SIMのサービスをご紹介します。

 

IIJ

私が最もおすすめするのがIIJです。

格安SIMらしく様々なプランがあります。値段もmineoよりも少し安いのでとってもお勧めです。

ただし、プランが多い分初めて格安SIMを契約したいと思っている方にとっては少し難しく感じてしまうかもしません。

 

 
2ギガ
5ギガ
10ギガ
15ギガ
20ギガ

音声SIM


音声eSIM
タイプAのみ

税込850
(税抜773円)
税込990
(税抜900円)
税込1,500
(税抜1,364円)
税込1,800
(税抜1,637円)
税込2,000
(税抜1,819円)

SMS

税込820
(税抜746円)
税込970
(税抜882円)
税込1,470
(税抜1,337円)
税込1,780
(税抜1,619円)
税込1,980
(税抜1,800円)

データタイプDのみ

税込740
(税抜673円)
税込900
(税抜819円)
税込1,400
(税抜1,273円)
税込1,730
(税抜1,573円)
税込1,950
(税抜1,773円)

データeSIM
ドコモ網のみ

税込440
(税抜400円)
税込660
(税抜600円)
税込1,100
(税抜1,000円)
税込1,430
(税抜1,300円)
税込1,650
(税抜1,500円)

 

 

mineo

こちらはIIJよりもプランが少ないですその分シンプルで選びやすく、プランの内容も分かりやすいので、初心者にお勧めですね。

 

余談

実は私、5年ほどmineoを愛用していました。

最近とあることがきっかけでmineoからIIJに移行したんです。

クレジットカードの更新が何故か紙に書いて郵送しないとできないのがすごく不便でIIJに移行しました。

私は字を書くのが苦手なので、紙に新しいクレカの情報書くのが嫌になってほかの格安SIMを調べたら、IIJを見つけて移行を決意し、IIJに移行しました。

クレカの更新は紙に書かないといけないのに、移行はスマホの操作だけでできちゃうのは不思議ですね。

ですので字を紙に字を書きたくない方はIIJをお勧めしますw。

 

 

ChatGPTを仕事で使うときの注意点

ここ最近ChatGPTが注目を集めていますね。あの江頭さんもChatGPTを使った動画を配信していましたね。そんなChatGPTはとても便利だと言われていますが、使用することに対しては賛否両論ですね。

 

ChatGPTにネガティブな印象を抱くようなニュース

  • イタリアではChatGPTの学習データは不正に入手した可能性あることから使用禁止としているらしい。
  • 韓国の有名企業では会議の議事録をChatGPTを使用して取っていたらそれが原因で機密除法が漏洩したニュースも

 

仕事で使用しても問題ないのか?

このようにいろいろ騒がれているChatGPTですがこれを仕事で使用して大丈夫なのか?

心配している方は多いと思います。

結論から言うと機密情報さえ入力しなければ問題ないというのが私の意見ですね。

ChatGPTの何が問題なのかというと入力した内容が漏洩してしまうのが情報漏洩の原因となっています。ChatGPTというのはAIですので、ユーザとのやり取りを学習データとして記憶してさらに賢くなっていきます。そのため、入力した内容は決して秘匿されるわけではありません。しかし裏を返せば機密情報さえ入力しなければ情報漏洩は起きません。

 

ChatGPTはむしろ仕事で使用すべき

ChatGPTは「怖いから使わない」という考えでは非常にもったいないくらい便利です。

文章を書いてくれたりもそうですが、私がすごいと思ったのは検索エンジンで検索しても出てこないようなマニアックな知識もChatGPTだと出てきたりします。

 

ChatGPTを初めて使ってみた経緯

ちょっと詳しくは言えないのですが、とある大企業が独自で作ったLinux系のOS(ここでは独自OSとします。)がありました。独自OSだったので当然ググっても全くヒットしません。そのため、操作方法などがわからずに途方に暮れていましたが、ダメ元でChatGPTに質問してみたら、ChatGPTは知っていたんです!!

私「(独自OS名)って知ってる?」
ChatGPT 「(独自OS名)という用語については詳しい情報を持っていません」

 

やっぱり知らないのかと思いあきらめかけましたが、少し粘ってみました。

名前だけでなくちょっとした情報を追記すればわかるかもと思い少し粘ってみました。

私「(独自OS名)は○○が開発したOSです」

ChatGPT「調べたところ(独自OS名)は○○が開発した独自のシステムです...」

私「(独自OS名)日付変更方法教えて」

ChatGPT「日付の変更方法は....」

するとこのように独自OSの操作方法を教えてくれるようになりました。

ググっても出てこないこともわかっちゃうって凄くないですか?

それ以来私は仕事でもChatGPTを使用するようになりました。

気持ち賢くなった検索エンジンって感じの使い方をしてますね。

 

ChatGPTを使用するときの注意点

前置きが長くなってしまいましたが、ChatGPTを利用する際は以下のことに注意する必要があります。

  • 機密情報を入力しない
  • ChatGPTから得た情報の正当性の確認をする

機密情報を入力しないというのはここまで読んでくださった方であれば説明は不要でしょう。「情報の正当性の確認」というのはこれは実際に私が使ってみて思ったことですが、ChatGPTから得た情報はだいたい合ってますがたまに間違っていることがあります。

ですのでChatGPTから得た情報があってるかを改めて確認するようにした方が間違いないと思います。例えばブログに記載する文章をChatGPTを使って生成するときは誤った情報を記載してしまう恐れがありますので、より一層注意が必要です。

 

 

Netflixでジブリを観る方法

 サブスクと言ったらやっぱりNetflix!!

今や知らない人は少ないのではと思うほどサブスクのド定番それがNetflixですね。

日本のアニメや映画はもちろんですが、海外映画や海外ドラマも見放題の優れもの!!

ちなみに私がNetflixに加入したきっかけはフルハウスが全話見れるのがNetflixだけだったのがきっかけでした。

そんなNetflixでも見れないものがあります。そうです。タイトルにある通りジブリは見れないんです。(日本ではね)

 

日本ではジブリをストリーミングで視聴できない。

Netflixに関わらずあらゆる動画配信サービスでなぜかジブリは見れません。(日本では)

ちなみに海外ではNetflixジブリが視聴できます。何故か日本では見れません。

ジブリを見るにはTUTAYAなどでメディアをレンタルするかショップでメディアを購入する方法のみと説明されている記事もあります。しかし、一つだけ方法があります。

日本で、Netflixで、お手頃価格でジブリを観る方法がね!有料のVPNサービスと契約して、海外のNetflixに接続することでジブリを観ることができます。

 

VPNとは

VPNとは

chatGPT様曰く以下です。(正直読み飛ばしてOKです。)

VPNはVirtual Private Network(仮想プライベートネットワーク)の略称で、インターネット上での通信を暗号化して安全に送信する技術やサービスのことを指します。

VPNを利用することで、インターネット上での通信内容を外部から見られなくすることができます。具体的には、VPNを介して通信を行うことで、自分のIPアドレスや情報を隠すことができ、外部からの不正アクセスや情報漏洩のリスクを軽減することができます。また、VPNを利用することで、自分の位置情報を偽装することができ、地理的な制限を回避することができます。

VPNは、個人用や企業用など、様々な用途で利用されています。例えば、企業が従業員に対してVPNを提供することで、社外からのアクセスを制限し、業務に必要な情報を安全にやりとりすることができます。また、個人がVPNを利用することで、インターネット上でのプライバシーやセキュリティの確保に役立てることができます。さらに、海外から日本のテレビや動画配信サービスにアクセスするためにも、VPNを利用することができます。

VPNは、専用のソフトウェアを利用して設定することができます。一般的には、VPNサービスを提供する企業やサイトからダウンロードしたソフトウェアをインストールし、接続先を設定することで利用することができます。また、スマートフォンタブレットなどのモバイルデバイスでも、VPNを利用することができます。ただし、VPNを利用することで通信速度が低下する場合があるため、利用前には注意が必要です。

 

つまりVPNを使うと
海外でしか配信されていない作品が視聴できるということです。

 

ジブリを視聴するまでの手順

  • 契約するVPNサービスプロバイダーを決める
  • VPNサービスプロバイダーと契約する
  • VPNアプリを起動
  • 接続するサーバ(国)を選択
  • Netflix起動
  • 視聴したいジブリ映画を選択

 

VPNサービスはたくさんありますが、今回は私が愛用しているNodeVPNと契約した場合の接続方法を示します。

まずはNordVPNのサイトへアクセスして契約をしてください。価格はプランにより変動します。プランは1か月プラン、1年プラン、2年プランがあります。

  • 1か月プランの場合は月額が1760円と少々高額です
  • 1年プランの場合は9300円(月毎に620円)
  • 2年プランの場合は1180円(月毎に440円)

 

長く使うのであれば2年プランがお勧めですが、見たい作品が1っ回見れればそれで良いのであれば1か月プランです。NordVPNは30日間返金保証がありますので、契約してから30日以内であれば実質無料で利用可能です。

プランを決めたら、サイトの案内に従って契約を実施してください。(契約手順載せたいけど、私が契約したのは大分昔なので覚えていない。すいません)

 

契約が完了したら

  1. アプリを起動
  2. Brazilで検索
  3. Brazilをクリック
  4. Netflixにアクセス
  5. ジブリで検索

するとジブリ映画が出てくるので見たい作品をクリックすればジブリ映画が視聴できます。

もし検索してもジブリ映画が表示されない場合はいったんNetflixを閉じて、別の国を選択して再度検索してみてください。

 

余談 ちなみにVPNに接続することで、ジブリ映画だけでなく、DAZNに加入されている方であればDAZNでCLが視聴できるます。DAZNは日本への放映権がないですが、ドイツ、オーストラリア、カナダの放映権を取得していますので、この国に接続すればDAZNでCLが視聴できます。

 

 

 

 

 

C# 学習環境(開発環境)構築手順

近年、AIをはじめとしてITが重要視されています。それに伴いプログラマという職業は転職先、就職先の候補として考える方が増えていると思います。 プログラミングスキルを身に着けるには「実際にプログラミングしてみる」のが手っ取り早いです。この記事では実際にプログラミングができるように環境構築の手順を記載します。

プログラミング言語

人間の言語に英語や日本語があるようにプログラミングにも様々な言語があります。 以下に一部を抜粋します。

C、C++、C#、java、php、javascript、Python、ruby

本記事で紹介するのはC# の環境構築です。

VisualStuioのインストール

まずは「VisualStudio」をインストールしましょう。 VisualStudioは こちら のサイトからダウンロードできます。

  1. VisualStudioのダウンロードの上にマウスカーソルを当てる
  2. Communty 2022をダウンロードする
  3. VisualStudioSetup.exe を実行する。

VisualStudioInstaller起動

  1. ASP.NETとWeb開発をチェック
  2. Azureの開発をチェック
  3. Python開発をチェック
  4. Node.js開発をチェック
  5. .Netデスクトップ開発をチェック
  6. ダウンロードしながらインストールを押下
  7. インストールが完了するまで待つ

インストール完了

  1. 起動ボタンが押せるようになっていることを確認
  2. 起動ボタン押下
  3. VisualStudio2022が起動されたら、インストール成功です。

注意点

今回紹介したVisualStudio Communtyは無料で利用できますが、あくまで商用利用はNGです。あくまで学習用ですので、VisualStudio Communtyで開発したアプリを有料で配信したり、商用で利用する場合は有料版のVisualStudioで開発する必要がありますのでご注意してください。

「猫に小判」と「豚に真珠」の違い

 世の中には似たような意味を持つことわざがいくつかあるものですね。

猫に小判」と「豚に真珠」もまたそのひとつです。普段の会話で何気なく使用したことをある人は多いと思いますが、わたくしはふとある疑問が浮かびました。

「同じような意味を持つことわざはなぜなのだろうか?」

同じ意味なのに、どちらもことわざとして存在しているということは何かしらの理由があるはずだと思い気になってしまい何故か私は会社の上司相談していました。

私「猫に小判と豚に真珠、何故同じような意味のことわざ存在するのでしょうか」

上司「気になるから調べて今度の社内定例で説明しといて」

どいう感じで、宿題にされてしまい仕方なく調べて何となくですが、「猫に小判」と「豚に真珠」の違いを理解することができました。

 

猫に小判」と「豚に真珠」の違い

似たような意味を持つこの二つですが、少し意味が異なります。

結論から言うと以下のような違いがありました。

猫に小判」・・・貴重な物でも値打ちがわからないのでは意味がない

「豚に真珠」・・・「猫に小判」+ 害になる

 

そうなんです。豚に真珠は意味がないばかりか、「害になる」という意味がありました。ではなぜそのような違いがあるのかについてそれはそれぞれのことわざの由来を知ることで理解することができます。

 

猫に小判」の由来

猫に小判」の由来

猫に小判は、人間にとっては貴重な小判であっても、猫にはその価値がわからないことから生まれたことわざ。 猫が選ばれた理由は、身近な動物であったこと以外にないが、犬と比較するならば飼い主の言うことを聞かない点が挙げられる。

 

「豚に真珠」の由来

 

「豚に真珠」の由来

新約聖書 ―マタイ伝・七」に出て来る、イエスのことばから。 口語訳では、「聖なるものを犬にやるな。 また真珠を豚に投げてやるな。 恐らく彼らはそれらを足で踏みつけ、向きなおってあなたがたにかみついてくるであろう」とあります。

 

「向きなおってあなたがにかみついてくるであろう」が「猫に小判」とは異なる点ですね。結論で述べた通り「豚に真珠」には「害になる」という意味があるのはこのことから来ています。

また、「猫に小判」は日本で登場した言葉に対して、「豚に真珠」は聖書から来ています。

 

まとめ

  • 猫に小判」の意味:価値がわからないのでは意味がない。
  • 「豚に真珠」の意味:価値がわからいものに与えても意味がないし、害になる。

 

「馬の耳に念仏」なんて知らない。私の辞書にそんなことわざはないのだよ

 

 

転職にお勧めのプログラミング言語

 AIなどが普及しようとしている現在プログラマーは転職の候補として最もよく挙がる職業の一つとなっています。

実際にプログラマーへの転職を考えている方々の中には「プログラミング言語多すぎて何を学んでいいのかわからない。」そんな悩みをお持ちの方は多いと思います。

この記事ではそんな悩みを持つ方のお役に立てるように「初心者にお勧めのプログラミング言語」を5つご紹介します。

 

1. Python

 Pythonは学習しやすく、コードがシンプルで読みやすいことから、初心者に最適なプログラミング言語です。さまざまな分野で使われており、Web開発、機械学習、データ分析、自然言語処理など、幅広い用途に対応しています。

chatGPTをはじめとしてAIが注目されている状況からしてもPythonは最もパリピな言語とも呼べるでしょう。

 

2. Java

 Javaは高い移植性と安定性を持った大規模システムの開発に向いています。また、Androidアプリ開発にも使われており、需要が高い言語の一つです。

Pythonと比較すると独学で身に着けるのは難しいと思います。もし、独学では厳しいと思う場合はこの後で紹介する「C#」を学習するのが良いです。C#Javaは文法が似ていますので、C#を覚えた方であればある程度は直感でJavaでプログラミングできます。

 

3. C# 

 C#Windowsアプリケーションの開発に最適なプログラミング言語で、.NET FrameworkやUnityなどのフレームワークで使用されています。C#Javaと似た文法を持ち、学習することでJavaC++など他の言語にも応用がきくため、多様な開発に役立ちます。GUIアプリケーションの開発をマウスによるドラッグアンドドロップでできるので初心者の方にもおすすめです。

 

4. JavaScript

 JavaScriptはWeb開発に特化した言語であり、クライアントサイドのWebアプリケーションや動的なWebページの開発に使われます。最近では、Node.jsを使ったサーバーサイドの開発にも利用されており、幅広い分野で使われるようになっています。

JavaScript自体の難易度それほど高くありませんが、JavaScriptで開発する場合はHtml、CSSなども関わってきますので、独学だと少し難しいと思われます。

 

5. Ruby

 Rubyはプログラムの読みやすさと開発の迅速性を重視した言語で、WebフレームワークであるRuby on Railsが有名です。Webアプリケーションの開発をはじめ、スクリプト言語としても利用されます。また、Railsの文法が簡単で初心者にも理解しやすいので、初心者にお勧めです。