Micomprocedure Wiki
C#のEnumについて
をテンプレートにして作成
開始行:
C#のEnumについて
Enumに対し行いたいことは、既にある
難易度の列挙型を定義しよう
#code(csharp){{
public enum Difficulty { Easy, Normal, Hard };
}}
for文で回したい
#code(csharp){{
for(var i=0;i<(int)Difficulty.Hard+1;i++)
}}
Extremeなんてのを追加した
#code(csharp){{
public enum Difficulty { Easy, Normal, Hard, Extreme };
}}
先ほどのfor文は
#code(csharp){{
for(var i=0;i<(int)Difficulty.Extreme+1;i++)
}}
に変更する
列挙型に変更がある度にfor文まで変更するのは良くない
#code(csharp){{
public enum Difficulty { Easy, Normal, Hard, Extreme, MAX };
for(var i=0;i<(int)Difficulty.MAX;i++)
}}
MAXは便宜上つけただけで実際には使われない
ここでC#のEnumについて(using System)
値を列挙
#code(csharp){{
Enum.GetValues(typeof(Difficulty))
}}
名前を列挙
#code(csharp){{
Enum.GetNames(typeof(Difficulty))
}}
サイズを取得
#code(csharp){{
Enum.GetNames(typeof(Difficulty)).Length
}}
forで回す
#code(csharp){{
for(var i=0;i<Enum.GetNames(typeof(Difficulty)).Length;i++)
}}
foreachで回す
#code(csharp){{
foreach(string str in Enum.GetValues(typeof(Difficulty)))
}}
Difficulty型diffをstring型にする
#code(csharp){{
string str=diff.ToString();
}}
string型strをDifficulty型にする
#code(csharp){{
Difficulty diff=(Difficulty)Enum.Parse(typeof(Difficulty), str);
}}
もしstrに一致する値がなかったら?
例外がスローされる
例外処理を入れずに一致するか見たい
#code(csharp){{
if (Enum.IsDefined(typeof(Difficulty), str))
}}
一致する場合のみ変換するTryParseなんてのもあるらしい
参考
http://qiita.com/hugo-sb/items/38fe86a09e8e0865d471
http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_016/csharp_abc01.html
http://dobon.net/vb/dotnet/programing/enumgetvalues.html
終了行:
C#のEnumについて
Enumに対し行いたいことは、既にある
難易度の列挙型を定義しよう
#code(csharp){{
public enum Difficulty { Easy, Normal, Hard };
}}
for文で回したい
#code(csharp){{
for(var i=0;i<(int)Difficulty.Hard+1;i++)
}}
Extremeなんてのを追加した
#code(csharp){{
public enum Difficulty { Easy, Normal, Hard, Extreme };
}}
先ほどのfor文は
#code(csharp){{
for(var i=0;i<(int)Difficulty.Extreme+1;i++)
}}
に変更する
列挙型に変更がある度にfor文まで変更するのは良くない
#code(csharp){{
public enum Difficulty { Easy, Normal, Hard, Extreme, MAX };
for(var i=0;i<(int)Difficulty.MAX;i++)
}}
MAXは便宜上つけただけで実際には使われない
ここでC#のEnumについて(using System)
値を列挙
#code(csharp){{
Enum.GetValues(typeof(Difficulty))
}}
名前を列挙
#code(csharp){{
Enum.GetNames(typeof(Difficulty))
}}
サイズを取得
#code(csharp){{
Enum.GetNames(typeof(Difficulty)).Length
}}
forで回す
#code(csharp){{
for(var i=0;i<Enum.GetNames(typeof(Difficulty)).Length;i++)
}}
foreachで回す
#code(csharp){{
foreach(string str in Enum.GetValues(typeof(Difficulty)))
}}
Difficulty型diffをstring型にする
#code(csharp){{
string str=diff.ToString();
}}
string型strをDifficulty型にする
#code(csharp){{
Difficulty diff=(Difficulty)Enum.Parse(typeof(Difficulty), str);
}}
もしstrに一致する値がなかったら?
例外がスローされる
例外処理を入れずに一致するか見たい
#code(csharp){{
if (Enum.IsDefined(typeof(Difficulty), str))
}}
一致する場合のみ変換するTryParseなんてのもあるらしい
参考
http://qiita.com/hugo-sb/items/38fe86a09e8e0865d471
http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_016/csharp_abc01.html
http://dobon.net/vb/dotnet/programing/enumgetvalues.html
ページ名:
サイト内を検索
AND検索
OR検索
操作メニュー
サークル情報
†
名称
東北大学文化部登録団体
東北大学マイコンプロシージャ
部室
川内北キャンパス内
川内サークル部室棟 4階
416号室
設立
1979年4月1日
(41年前)
活動内容
ゲームの制作・発表等
(
詳細
)
連絡先
こちら
↑
Twitter
†
@micom_procedure からのツイート
このウェブページについて
ここを編集
コンテンツ
†
トップページ
マイコンプロシージャとは?
公開中の作品
その他の作品
資料室
情報室
リンク
部内向けページトップ
最新の20件
2021年01月02日
Inneer/C++_const
2020年09月15日
ProcGameJam10
2020年06月18日
2020年度新歓情報
資料室
ようこそ
2020年05月23日
公開中の作品/2020年度SpringFestival/ハシレ!ギョルイ
公開中の作品/2020年度SpringFestival
公開中の作品
2020年05月19日
マイコンプロシージャとは?
2020年04月29日
公開中の作品/2019年度新入生プロジェクト
公開中の作品/2019年度新入生プロジェクト/(in)visible
公開中の作品/2019年度新入生プロジェクト/Vacuum VS. Bloom
公開中の作品/2019年度新入生プロジェクト/きのこvsたけのこ
2019年10月30日
宝石大復活
2019年08月17日
El Boom Pasa
2019年06月07日
公開中の作品/2018年度新入生プロジェクト
Goose's Phantasmagoria
Magic Airship
2019年04月21日
IdealMemoria
2019年03月11日
Kakomin
ここを編集