基本情報
料金
期間
転職サポート
講師
  料金 リンク
テックアカデミーロゴ 99,900円〜
※給付金制度あり
公式
評判
DMM WEBCAMPロゴ 169,800円~
※給付金制度あり
公式
評判
デイトラロゴ 99,800円 公式
評判
侍エンジニアロゴ 165,000円~
※侍テラコヤは月額2,980円~
公式
評判
テックキャンプロゴ 657,800円~
※給付金制度あり
公式
評判
DIVE INTO CODEロゴ 647,800円~
※給付金制度あり
公式
評判
ポテパンキャンプロゴ 440,000円
※全額返金保証あり
公式
評判
  期間 リンク
テックアカデミーロゴ 4~16週間 公式
評判
DMM WEBCAMPロゴ 4~24週間 公式
評判
デイトラロゴ 90日間 公式
評判
侍エンジニアロゴ 4~48週間 公式
評判
テックキャンプロゴ 最短10週間 公式
評判
DIVE INTO CODEロゴ 4ヶ月 公式
評判
ポテパンキャンプロゴ 5ヶ月 公式
評判
  転職サポート リンク
テックアカデミーロゴ 公式
評判
DMM WEBCAMPロゴ 公式
評判
デイトラロゴ × 公式
評判
侍エンジニアロゴ 公式
評判
テックキャンプロゴ 公式
評判
DIVE INTO CODEロゴ 〇(10ヶ月間) 公式
評判
ポテパンキャンプロゴ 公式
評判
  講師 リンク
テックアカデミーロゴ 全員が実務経験3年以上の現役エンジニア 公式
評判
DMM WEBCAMPロゴ 実務経験豊富な現役エンジニア 公式
評判
デイトラロゴ 現役で活躍するプロ講師 公式
評判
侍エンジニアロゴ 一人の現役エンジニアが卒業までサポート 公式
評判
テックキャンプロゴ 未経験者にプログラミングを教えるプロ 公式
評判
DIVE INTO CODEロゴ 実務経験豊富なプロ講師 公式
評判
ポテパンキャンプロゴ 経験豊富な現役エンジニア 公式
評判

IT

【C#入門】enumの使い方とポイントを現役エンジニアが解説

2020年10月25日

C#勉強中です。enum(列挙型)の使い方やポイントなどあれば教えてください。

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

 

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

  • enum(列挙型)とは?
  • enumを使う際に気をつけるべきポイント
  • 未経験からエンジニアになりたい人向けの話

 

本記事を書いている僕は歴10年以上の現役エンジニアです。

現在はフリーランスとしてお仕事をしています。

ここからは先輩エンジニアとしてenum(列挙型)の使い方や使う上でのポイントをお伝えします。

僕自身の経験も踏まえた上でかみ砕いて解説しますので最後までご覧ください。

 

それではさっそく参りましょう。

【C#入門】enumの使い方とポイントを現役エンジニアが解説

ここからはC#の使い方や、僕が10年以上C#を使ってきた中で培ってきた使用のコツをお伝えします。

 

enum(列挙型)とは?【使い方を説明】

まずは「そもそもenumってなに??」という方に向けて、

  • どんな型なのか
  • どんな使い方をするのか

といった概要を話していきます。

 

型の説明や使い方については、開発元でもあるMicrosoftのサイトで以下のように説明がされています。

"列挙型" は、基になる整数値型の一連の名前付き定数によって定義された値の型です。

(中略)

既定では、列挙型メンバーの関連する定数値の型はintで、0 から始まり、定義テキストの順序に従って 1 ずつ増加します。他の任意の整数値型を、列挙型の基になる型として明示的に指定できます。

引用元:列挙型 - C# リファレンス | Microsoft Docs

 

うーん、わかるようなわからないような・・・。具体的にどんな風に使うんですか??
いい質問ですね。言葉だけでは少しわかりにくいと思うので、具体的にソースコードを紹介しつつ説明しますね。
サカイ
enum Season
{
	Spring,
	Summer,
	Autumn,
	Winter
}

 

これがenumの書き方なのですが、この例でいうと各項目は以下のような意味を持ちます。

ポイント

  • Season:列挙型の定義名
  • Spring~Winter:列挙型Seasonを構成する要素

 

そして特に指定しない場合は、Springから順に0から3の整数値が設定されます。

 

使い方はなんとなくわかりましたが、どんな時に使うのかがいまいちイメージ湧きません。
それではここからは、enumを使うタイミングやポイントについて話を進めていきますね。
サカイ

1.区分けされたグループを定義する場合に使用する

使い方のポイント1つ目は、『区分けされたグループを定義する場合に使用する』ということです。

使い方の例で出した【Season(季節)】がもっともわかりやすいですね。

 

季節というグループの中に春夏秋冬という4つの区分けがあります。

こういった区分けを表現したい場合にenumは有効です。

季節という誰でもわかる区分けはもちろん、システム独自の区分を表現するときも使えます。

ただただInt型の定義を並べるよりも、enumで表現したほうがグループであることがかなりよく伝わりますよね。

 

2.文字列と数字を紐づけることができる

enumを使う上でのポイント2つ目は、『文字列と数字を紐づけることができる』という点です。

え??どういうこと??!

通常Int型なら整数を意味し、String型なら文字列を意味します。

enumはこのどちらの側面もあるということです。

 

さきほどのSeasonで解説します。

enum Season
{
	Spring,
	Summer,
	Autumn,
	Winter
}

例えばここでいうSpringは、int型の”0”としても使えますし、String型の”Spring”としても使えるんです。

基本は整数として機能することが多いんですが、文字列としても使えるのは意外と盲点なので知っておくといざという時に使えるかもしれませんね。

 

3.データベースや外部ファイルで代替する方法もある

enumを使う際のポイント3つ目は、『データベースや外部ファイルで代替する方法もある』ということです。

これはenumについてとは少し観点が違いますが、なんでもかんでもenumでやりゃあ良いってもんじゃないというのが伝えたいことです。

覚えたてのことってついつい使いたくなってしまうんですが、使う前に他の方法でもできないかを考えてほしいんです。

 

データベースにデータを入れることによって同じことができれば、メンテナンスがしやすい(変更があった際にソースを修正せずに済む)というメリットもあります。

xmlやconfigファイルを使えばデータベースにアクセスすることなく、テキストファイルを修正するだけでできるかもしれません。

こういったことを考慮したうえで、でもやっぱりenumが最善であると判断したらenumを使うといいでしょう。

ただなんでもかんでもenumにするのではなく、他の方法でも代替できて、その方法のほうが効果的かどうかをさまざまな観点で検討しましょう。

 

未経験からとにかく早くC#習得を目指すならプログラミングスクール

ここまではenum(列挙型)の使い方やポイントを話してきましたが、ここからは未経験からとにかく早くC#習得をしたい方向けに話をします。

結論から言うと、スピード重視でC#習得を目指すならプログラミングスクール受講するのが一番の近道です。

 

独学ではC#を習得できないの??

という疑問を持つ方がいそうですが、独学でも全然問題はないと思います。

僕自身はスクールに通ったことはありませんし、会社の研修を受けながらC#やその他のプログラミング言語の学習をしてきました。

 

ただ、もしあなたが、

未経験から、

なるべく早く、

効率よく、

C#を習得したいと思っているとしたら、プログラミングスクールに通うべきだと断言します。

 

僕の場合は会社から給料をいただきながら勉強できたのでよかったのですが、未経験から独学する場合はちょっと話が変わってきます。

一人で学習すると効率も良くないですし、何より結果にコミットしにくいです。

 

決して安い金額ではないですが身銭を切って学習することで、うしろのドアを閉めるきっかけにもなります。

例えば、大手プログラミングスクールのTechAcademy(テックアカデミー)なら完全オンラインで自宅で学習できます。

 

どんなプログラミングスクールがいいのかわからない方は、まず間違いなくおすすめできるサービスです。

  • 国内最大規模のプログラミングスクールであること
  • 完全オンラインで学習できること
  • 無料体験があること

などの観点から、迷う時間がもったいない人には良いでしょう。

 

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

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

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

【テックアカデミー】ゲームエンジニアを目指せるUnityコース解説【C#習得可】

 

無料体験で雰囲気も味わえるので、ぶっちゃけリスクもゼロです。

いったん無料でお試ししてみて、合いそうだったらお金払えばいいや

といった軽い感じではじめられるので、ぜひやってみてください。

 

 

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

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

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

テックアカデミーの評判・口コミ徹底調査|最高?ひどい?実態を丸裸に

 

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

ここからは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#入門】enumの使い方とポイントを現役エンジニアが解説』というテーマでお届けしました。

本記事を読むことによってenum(列挙型)についての理解が深まっていれば幸いです。

 

基礎基本をしっかり学んで、C#マスターになっていきましょう。

本記事は以上となります。

  • この記事を書いた人

サカイユウヤ

プログラミングスクールアドバイザー 【経歴】1986年生まれ ▶ 茨城県出身▶ 大学で福島県へ▶ 就職で東京▶ 某SIer企業で丸7年正社員として勤務▶ 独立してフリーランスエンジニア ● 2020年7月ブログスタート ● エンジニア歴13年(内フリーランス歴6年) ●プログラミングスクール関連記事300記事超 ●プログラミングスクール30社以上見てきた経験からスクール選びサポートしてます。

-IT

© 2020 初心者向けプログラミングスクールおすすめサイト|さかこじぶろぐ

お得なキャンペーン情報はコチラ
お得なキャンペーン情報はコチラ