プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
C#、目視で変数の型を判定するために変数の型名を取得してみる
結論から書くと

【変数名】.GetType().FullName

で変数の型名を取得できました。

それでは詳細……と言うほどでもないですが詳細を書いていきます。

とある外部APIからの戻りが構造体だったのですが、
その構造体の中にある項目の1つが何の型か分からなかったのです。

ということで、変数の型を判断したかったのですが
見つかるのはtypeofうんちゃらとかisかんちゃらなやり方でした。

if(hoge is string){
    Console.WriteLine("string型だよ!");
}else if(hoge is string){
    Console.WriteLine("int型だよ!");
}else if(hoge is double){
    Console.WriteLine("double型だよ!");
}

とかズラズラっと書いていくのも、アホっぽいじゃないですか。
もっとサクっと判定したいんだよね!というのが今回のきっかけです。

ほんで、何か良い方法ない(--?
教えて!Googleせんせー!

……ふむふむ(--)

【変数名】.GetType().FullName

で変数の型名が取得できるようです。
あっ、これでいーや。

ということで型の分からん変数をObject型で宣言しておいて

public struct HogeStruct
{
    public Object hogeColumn;
}

こんな感じで確認しましたφ(--)

HogeStruct hoge = とある外部API呼び出し;
Console.WriteLine("hoge.hogeColumnの型:" + hoge.hogeColumn.GetType().FullName);

実行結果は、例えば、こんな感じになりますφ(--)

hoge.hogeColumnの型:System.Double

なるほど、double型だったのね(--ゞ

取りあえず、そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● C#  thema:システム開発 - genre:コンピュータ  Posted by ササキマコト 

  関連記事