0

私は次のタイプを持っているかもしれません:
小数の数:100.90
数(int32):32
文字列: ""

私が欲しいのは、小数として解析しようとし、失敗した場合はintとして解析しようとし、失敗した場合は文字列として解析しようとする関数です。次の機能を備えたC#のあらゆる種類の関数を歓迎します。

4

2 に答える 2

2
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は常にとして解析できます。を並べ替えて、最初に配置することをお勧めします。intintdecimalTryParseint

于 2010-11-08T09:28:54.610 に答える
1

TryParse()はあなたの友達ですが、すべての有効なintも有効な小数であるため、何が必要かわかりません。

于 2010-11-08T08:55:43.290 に答える