A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王赟 中级黑马   /  2013-4-22 19:15  /  1648 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王赟 于 2013-4-22 19:29 编辑

??运算符该如何使用

4 个回复

正序浏览
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();

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

回复 使用道具 举报
??  运算符调用 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");
    }
}

评分

参与人数 1技术分 +1 收起 理由
苏波 + 1

查看全部评分

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

点评

我问的是“??”运算符是什么...  发表于 2013-4-22 19:29
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马