今天才知道C#中还有这么一个运算符"??"

先看这一段代码 Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
   
class Program
   
{
       
static void Main(string[] args)
       
{
           
string a = "test1";
           
string b = null;
           
string c = a ?? "test2";
           
string d = b ?? "test3";
            Console.WriteLine(
"a:{0} b:{1} c:{2}, d:{3}", a, b, c, d);
            Console.ReadLine();
        }

    }

}
Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
程序应该输出什么呢? Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
这个"??"运算符我是在CommunityServer里面看到的,在里面大量的使用这个运算符 ,当时还看的莫名其妙 ,好像"? : "这个三元运算符. Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
不过它完成的功能确实和"? : "相似 ,只是在特定条件下更简洁了. Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
输出的内容是这个:  Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
a:test1 b: c:test1, d:test3
Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
补充一下:  Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
??左边的内容如果不为空则返回左值的内容,如果为空则返回右值的内容。  Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
不过这个符号貌似不常用,或者基本没看到什么人用,呵呵~毕竟不广泛Fî9—¹~†´ëbbs.szblogs.comÎf×U[ÔûC
本文引自:http://bbs.szblogs.com/showtopic-1409.html
 posted on 2008-10-16 03:48  lang  阅读(191)  评论(0编辑  收藏  举报