2016-05-26 14 views
2

変数 "param"がint、double、またはstringのいずれかになる場合、最も効率的な方法で別の文字列をparamに割り当てるにはどうすればよいですか?現在、私がやっていることは、このようなものです:文字列を別の変数の型に変換する

string s = "5"; 

switch (param) 
{ 
    case param.GetType() == "System.Double": 
     param = Convert.ToDouble(s); 
     break; 
    case param.GetType() == "System.Int32": 
     param = Convert.ToInt32(s); 
     break; 
    case param.GetType() == "System.String": 
    default: 
     break; 
} 

私はこのような何か(擬似コード)にそれを凝縮させるために期待していた。

param = (typeof(param))s; 

または

param = s as tyepof(param); 
+0

[Magic Strings](https://en.wikipedia.org/wiki/Magic_number_(プログラミング))に頼るのではなく、[TypeCode Enumeration](https://msdn.microsoft .com/ja-us/library/system.typecode(v = vs.110).aspx)。 –

+0

このサイトから試すhttps://msdn.microsoft.com/en-us/library/bb384043.aspx –

答えて

0

私はあなたの全体的な目標は、コードのちょうどこの作品では何かわからないんだけど、あなたは常にだけで変数の型を変更することができます。

Convert.ChangeType(s, typeof(param)); 

その後、単純に割り当てることができます。

それを考えた後、成功すればすぐに変数を使用することができます。

関連する問題