CとC#の列挙型の違いについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
aridai
記事: 34
登録日時: 5年前

CとC#の列挙型の違いについて

#1

投稿記事 by aridai » 5年前

C#を学び始めて思ったことがあったのでトピックを建てさせていただきました。
Cではenum列挙体を使いたいときは

コード:

enum CAT
{
    tama,
    pochi,
    taro
};
enum CAT cat;
のように書くと思うのですが、
C#の列挙型は

コード:

enum CAT
{
    tama,
    pochi,
    taro
};
とするだけで
列挙型の変数を宣言しなくても使えるのでしょうか。
CとC#が混同してよくわからなくなりました。
CとC# では 列挙型を書いた時に作られるものが違うのでしょうか。

YuO
記事: 941
登録日時: 9年前
住所: 東京都世田谷区

Re: CとC#の列挙型の違いについて

#2

投稿記事 by YuO » 5年前

aridai さんが書きました:Cではenum列挙体を使いたいときは

コード:

enum CAT
{
    tama,
    pochi,
    taro
};
enum CAT cat;
これは,列挙型CATの宣言とCAT型の変数catの宣言です。
aridai さんが書きました:C#の列挙型は

コード:

enum CAT
{
    tama,
    pochi,
    taro
};
これは,列挙型CATの定義です。

C#で列挙型の変数が必要なら,

コード:

CAT cat;
と書けば定義できますし,Cでも変数の宣言をせず

コード:

tama
と書けば列挙値を利用可能です。
オフトピック
C#では列挙型はスコープを作成するので,

コード:

CAT.tama
のように書く必要がありますが。

aridai
記事: 34
登録日時: 5年前

Re: CとC#の列挙型の違いについて

#3

投稿記事 by aridai » 5年前

返信ありがとうございます。
私はてっきり
列挙型〇〇の定義をする

〇〇型の変数 △△を宣言する

これで使えるようになる

と思っていました。

aridai
記事: 34
登録日時: 5年前

Re: CとC#の列挙型の違いについて

#4

投稿記事 by aridai » 5年前

コード:

enum CAT
{
    tama,
    pochi,
    taro
};
CAT cat;
cat = CAT.tama;
ですか。

aridai
記事: 34
登録日時: 5年前

Re: CとC#の列挙型の違いについて

#5

投稿記事 by aridai » 5年前

私はCでゲームを作っている時に
プレーヤーの状態を表したいときに

コード:

enum STATUS
{
    normal_mario, // ノーマルマリオ (仮)
    super_mario, // スーパーマリオ (仮)
    fire_mario // ファイアマリオ (仮)
};
enum STATUS playerstatus;
playerstatus = normal_mario;
というようにして
定数のように使用しているのですが、
C#でもこのように使えますか。

アバター
へにっくす
記事: 630
登録日時: 8年前
住所: 東京都

Re: CとC#の列挙型の違いについて

#6

投稿記事 by へにっくす » 5年前

aridai さんが書きました:C#でもこのように使えますか。
使えます。
YuOさんがオフトピックで書いてるように、

コード:

playerstatus = STATUS.normal_mario;
とする必要がありますが

・・・ってNo.4ですでに分かってますね
written by へにっくす

aridai
記事: 34
登録日時: 5年前

Re: CとC#の列挙型の違いについて

#7

投稿記事 by aridai » 5年前

なるほど、ありがとうございます。
私は猫でもわかるシリーズで勉強しているのですが、
C#の列挙型の説明が2ページしかなくて
ググってもCとの違いがよくわからなくて…
本当にありがとうございます。

aridai
記事: 34
登録日時: 5年前

Re: CとC#の列挙型の違いについて

#8

投稿記事 by aridai » 5年前

理解できました。
ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る