私は次のタイプを持っているかもしれません:
小数の数:100.90
数(int32):32
文字列: ""
私が欲しいのは、小数として解析しようとし、失敗した場合はintとして解析しようとし、失敗した場合は文字列として解析しようとする関数です。次の機能を備えたC#のあらゆる種類の関数を歓迎します。
public static object cascadeParse(string obj)
{
decimal decRet;
if (!decimal.TryParse(obj, out decRet))
{
int intRet;
if (!int.TryParse(obj, out intRet))
{
return obj;
}
else
{
return intRet;
}
}
else
{
return decRet;
}
}
ただし、このメソッドは、 asとしてdecimal
解析できるものが渡されると、常にaを返します。sは常にとして解析できます。を並べ替えて、最初に配置することをお勧めします。int
int
decimal
TryParse
int
TryParse()はあなたの友達ですが、すべての有効なintも有効な小数であるため、何が必要かわかりません。