I want “(int)null” to return me 0

前端 未结 8 2246
隐瞒了意图╮
隐瞒了意图╮ 2021-02-13 14:14

How can i get 0 as integer value from (int)null.

EDIT 1: I want to create a function that will return me default values for null representa

8条回答
  •  你的背包
    2021-02-13 15:14

    You can use the default keyword to get the default value of any data type:

    int x = default(int);        //  == 0
    string y = default(string);  //  == null
    // etc.
    

    This works with generic parameters as well:

    Bar Foo() {
        return new Bar(default(T));
    }
    

    In case you have a variable of type object that may contain null or a value of type int, you can use nullable types and the ?? operator to convert it safely to an integer:

    int a = 42;
    object z = a;
    int b = (int?)z ?? 0;        //  == 42
    int c = (int?)null ?? 0;     //  == 0
    

提交回复
热议问题