9

1行で整数をチェックする方法は?

sample.AddRange(Statistics.Select(player => new Stats
                       {
                         SeasonFromYear = Convert.ToInt32(seasonFromYear)
                       }

これは私のために働いています。

int a;
SeasonFromYear = int.TryParse(seasonFromYear, out a) ? a : default(int);  

しかし、すべてのプロパティについて、のような変数を 1 つ宣言する必要がありますa。それがなければ、1行でチェックインできますか?

このようなもの

 sample.AddRange(Statistics.Select(player => new Stats
                       {
                         SeasonFromYear = is integer ? then value : else default value 
                       }
4

4 に答える 4

7

拡張メソッドを作成できます:

public static int ToInt(this string v)
{
    int a = 0;
    int.TryParse(v, out a);
    return a;
}

その後:

int number = "123".ToInt();

編集

または、out パラメータとして整数を渡すこともできます。

public static bool ToInt(this string v, out int a)
{
    return int.TryParse(v, out a);  
}

利用方法:

int number = 0;
"123".ToInt(out number);
于 2013-08-09T05:51:49.320 に答える
1

安全なキャストを使用して、1 行で null 合体チェックを実行してみましたか?

SeasonFromYear = seasonFromYear as int ?? default(int);
于 2013-08-09T05:34:28.260 に答える