首页 新闻 会员 周边 捐助

ASP.NET中这句话是什么意思?

0
[已解决问题] 解决于 2012-05-09 15:14
 姓名:<input id="txtName" name="txtName" type="text" value="<%:Request.Form["txtName"] ?? ""%>" />

两个??是什么意思?

学之乐的主页 学之乐 | 初学一级 | 园豆:33
提问于:2012-05-02 13:57
< >
分享
最佳答案
1

??:判断为空。上面的意思是:如果为空就赋值“”。

奖励园豆:5
悟行 | 专家六级 |园豆:12559 | 2012-05-02 14:00
其他回答(3)
0

你上面意思是;如果接收值为空,就显示"",不为空就显示出接收值

1             int? a = null;
2             Console.WriteLine("a1:{0}", a ?? -1);
3             //out put a1:-1
4 
5             a = 10;
6             Console.WriteLine("a2:{0}", a ?? -1);
7             //out put a2:10
  • 第一个操作数是可空类型的变量。
  • 第二个是相同基础类型的不可空值。
  • 在运行时,如果第一个操作数运算后为null,那么第二个操作数就会被返回作为运算结果。
xu_happy_you | 园豆:222 (菜鸟二级) | 2012-05-02 14:11
0

这个是.NET3.0(好像是4.0,呵呵,具体忘记了)特有的一个运算符,只对引用型变量(含字符串)有效。

语句:

a = b ?? c

的意思是:如果b是null,那么就使用c否则使用b,把结果赋值给a。

等同于一个标准的三元运算符?:

a = b == null ? c : b;

无之无 | 园豆:5095 (大侠五级) | 2012-05-02 14:35
0

赞同一楼的

木兰香 | 园豆:252 (菜鸟二级) | 2012-05-03 09:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册