No.1ベストアンサー
- 回答日時:
>Cat.Tamaで2を取得できるそうですが,
通常0から始まるので Pochiが0 Tamaが1、Mikeが2になると思います
>標準入力からTamaという文字列を受け取ったときに,
>Tamaが2というのをどう取得すればいいですか?
Cat cat = (Cat)System.Enum.Parse(typeof(Cat), "Mike");
int value = (int)cat;
とすれば"Mike"という文字列に対して
valueに数字の2が入ります。
No.2
- 回答日時:
>Cat.Tamaで2を取得できる
いいえ,
Pochiが0でTamaが1でMikeが2です。
http://msdn.microsoft.com/en-us/library/sbbt4032 …
/* --------------------------------- */
using System.Reflection;
using System.Collections.Generic;
public enum Cat
{
Pochi, Tama, Mike
}
public class Q4994976{
public static void Main(string[] s){
try{
int x = (int)System.Type.GetType("Cat",true,false).GetField(System.Console.ReadLine(),BindingFlags.Public | BindingFlags.Static).GetRawConstantValue();
System.Console.WriteLine(x);
}catch(System.NullReferenceException e){
System.Diagnostics.Debug.WriteLine(e.ToString());
}finally{
System.Console.ReadKey(true); // 単なる待機
}
}
}
/*
一応こんな風に組めば可能ではありますが,開発ツールを作るのでもない限り,これを使わなければならないのは作成しようとしているプログラムの設計が悪いからで,設計を先に見直すべきだ,と俺は考えます。
*/
/* ------------------------------------- */
No.3
- 回答日時:
ポイントなりそうな部分をコメントにしました。
public enum Cat{ Pochi=1,Tama,Mike}//Pochiを1にしてTamaで2を取得出来るようにしておく。
class Program
{
public static void Main()
{
int num=-1;
string [] names;
Console.WriteLine("猫の名前を入れてくださいにゃ。");
string name = Console.ReadLine();
names = Enum.GetNames(typeof(Cat));
for(int i=0;i<names.Langth;i++)
{
if(name==names[i])
{
num=(int)Enum.Parse(typeof(Cat),name);//int型にキャスト。
}
}
if(num!=-1)
{
Console.WriteLine("{0}={1}",name);
}
else
{
Console.WriteLine("入力された名前は無かったにゃ。");
}
}
}
要はキャスト。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- C言語・C++・C# C言語で 英文字のみからなる文字列、”Radar”、”WasItACatISaw”、”a”、””(空 5 2022/12/20 15:17
- Microsoft ASP プログラミング関係で質問です。 3 2022/10/11 16:06
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- C言語・C++・C# いまc言語の標準ライブラリ文字列を勉強しているのですがいまいちわかりません。 strcmpとmemc 5 2023/07/04 15:34
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Visual Basic(VBA) 列を指定して文字を切り出し、他の列と結合 5 2022/09/03 08:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラマーと学歴の関係性に...
-
プログラミングを教えたいです...
-
楽しくて最高のプログラミング...
-
小学1年生の子です。塾に行かせ...
-
vba クリップボードクリアにつ...
-
IT業界より楽に稼げる業界って...
-
ラズパイpico PIOモード
-
pythonで複数画像からgifを作る...
-
Pythonでgif画像が上手く作れない
-
プログラミング ソースコード
-
プログラミング
-
pythonにてseleniumを使うも、...
-
ものづくりに向いているプログ...
-
Google ColaboでGUI作成
-
JRのjsonファイルって使って大...
-
Webサイト内に埋め込んだmp4動...
-
そのまま使っただけなのに・・...
-
正規表現で複数マッチ条件で悩...
-
Pythonって何を意識した言語な...
-
スカラーのベクトル微分
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
chatGPTで次々と質問をしていく...
-
昔のパソコン少年の武勇伝「店...
-
スカラーのベクトル微分
-
ハッシュテーブル(連想配列)が...
-
最新のプログラム言語を学ぶに...
-
pythonにてseleniumを使うも、...
-
Windowsのアプリ開発ってなんの...
-
vba クリップボードクリアにつ...
-
Google ColaboでGUI作成
-
sublimit textっていうエディタ...
-
フリーランスのエンジニアって...
-
ExcelVBAでFormulaR1C1を列範囲...
-
matplotlibで任意の角度の円弧...
-
そのまま使っただけなのに・・...
-
家庭のパソコンで Python の 環...
-
初心者powershellのPS1ファイル...
-
Webプログラムってネイティブア...
-
httpリクエストの送り元の特定
-
プログラミングで例えばゲーム...
-
rpa化する言語としてら何があり...
おすすめ情報