文字列をnull許容のintに解析する方法 質問する

文字列をnull許容のintに解析する方法 質問する

C# で文字列を null 許容の int に解析したいと考えています。つまり、文字列の int 値を返すか、解析できない場合は null を返します。

これがうまくいくといいなと思っていた

int? val = stringVal as int?;

しかし、それではうまくいかないので、私が今やっている方法は、この拡張メソッドを書くことです

public static int? ParseNullableInt(this string value)
{
    if (value == null || value.Trim() == string.Empty)
    {
        return null;
    }
    else
    {
        try
        {
            return int.Parse(value);
        }
        catch
        {
            return null;
        }
    }
}   

これを行うより良い方法はありますか?

編集: TryParse の提案に感謝します。それについては知っていましたが、結果はほぼ同じでした。私がもっと知りたいのは、null 許容 int に直接解析する組み込みフレームワーク メソッドがあるかどうかです。

ベストアンサー1

int.TryParseおそらく少しは簡単でしょう:

public static int? ToNullableInt(this string s)
{
    int i;
    if (int.TryParse(s, out i)) return i;
    return null;
}

編集@Glennint.TryParseは「フレームワークに組み込まれています」。これは、文字列を int に解析する方法ですint.Parse

おすすめ記事