黑马程序员技术交流社区

标题: ??运算符是什么。。 [打印本页]

作者: 王赟    时间: 2013-4-22 19:15
标题: ??运算符是什么。。
本帖最后由 王赟 于 2013-4-22 19:29 编辑

??运算符该如何使用
作者: $love    时间: 2013-4-22 19:24
运算符!
常见的就是+ — *  / % 啊!主要就是用来进行运算的啊 !这些你应该都懂吧?
可能就是%比较少见一点?我举个例子给你吧
5%3=2    4%3=1   就是4除以3 先得1是吧之后就4-3等于1   所以4模3等于1
作者: 袁振龙    时间: 2013-4-22 19:42
   空接合运算符的用法类似于 _?_:_ 三元运算符,用于比较两个操作数,当操作数1的值不为null时,表达式返回第一个操作数,否则表达式返回第二个操作数。
要求:
    1。第一个操作数必须是可空类型或引用类型(值类型无法处理 null 值);
    2。第二个操作数必须与第一个操作数的类型相同或能隐式转换为第一个操作数的类型。
例如:
int? a = null;
int b;
b = a ?? 10;
这里,首先变量 a 为可空类型,因此可以接受 null 值,第三天语句判断变量 a 是否为空,因而这里 b 的值为 10。
作者: 李君言    时间: 2013-4-22 19:42
??  运算符调用 null 合并运算符和用于定义可以为 null 的值类型的默认值或引用类型。  ,如果操作数不为空,则返回该左操作数;否则它返回正确的操作数。

示例:
class NullCoalesce
{
    static int? GetNullableInt()
    {
        return null;
    }

    static string GetStringValue()
    {
        return null;
    }

    static void Main()
    {
        // ?? operator example.
        int? x = null;

        // y = x, unless x is null, in which case y = -1.
        int y = x ?? -1;

        // Assign i to return value of method, unless
        // return value is null, in which case assign
        // default value of int to i.
        int i = GetNullableInt() ?? default(int);

        string s = GetStringValue();
        // ?? also works with reference types.
        // Display contents of s, unless s is null,
        // in which case display "Unspecified".
        Console.WriteLine(s ?? "Unspecified");
    }
}

作者: 覃庆健    时间: 2013-4-22 20:15
C#中 ?? 运算符其实是一个合并运算符
用法   数据类型 ? c = a??b ;  //当a为null时c的值为预设值b

我写个小例子给你吧..
            int? x = null; //设x为空
            int? y = 3;    //y为5

            int? z1 = x ?? 80;  //预设结果为80 ,解析:当x的值为空的时候,z1的结果为预设值80
            int? z2 = y ?? 50;  //当y不为空的时候,预设值就不起作用,则z2的结果为y
        
            Console.WriteLine(z1);  //输出z1 为预设值 80
            Console.WriteLine(z2);  //输出z2 为y的值5
            Console.ReadKey();





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2