三目运算问题,请大家看看输出结果是多少? string id = "0";string str;str = id == "0" ? "已发送" : id == "1" ? "未发送" : "已发送";Console.Write(str);写出结果,并解释为什么 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写错了没哦 !str = id == "0 " ? "已发送 " : id == "1 " ? "未发送 " : "已发送 "; 没引号了? str = id == "0 " ? "已发送 " : (id == "1 " ? "未发送 " : "已发送 "); 相当与上面的开始id="0";就是true str就直接="已发送"如果id不等与"0" 就取后面的了```如果id也不等于"1" 为false 也是取"已发送" string id = "0 "; string str; str = (id == "0 " ? "已发送 " : ( id == "1 " ? "未发送 " : "已发送 ")); Console.Write(str); 顺序:id=="1"?"未发送":"已发送"得"已发送"-->id=="0"?"已发送":"已发送"输出:已发送ps:没有测验过 "已发送"从右运算到左先运算 id == "1 " ? "未发送 " : "已发送 " id = "0 "表达式返回"已发送"再运算? id == "0 " ? "已发送 " : (id == "1 " ? "未发送 " : "已发送 ")括号中的为刚刚第一次运算结果"已发送" 这样就变成 id == "0 " ? "已发送 " : "已发送"结果为"已发送" str = (id == "0" ? "已发送" : (id == "1" ? "未发送" : "已发送")); 当然是已发送了 str = id == "0 " ? "已发送 " : id == "1 " ? "未发送 " : "已发送 "; 1、先判断id == "0 " ;2、id == "0 " 不成立,判断id == "1 ";3、因为id == "0 "成立,则结果值为:"已发送 " 已发送 str = id == "0 " ? "已发送 " : id == "1 " ? "未发送 " : "已发送 "; id == "1 " ? "未发送 " : "已发送 "; 不执行 LZ 分很多嘛?JF if(id == "0 " ){str="已发送 " ;}else{ if( id == "1 ") { str="未发送 " ;}else{ str="已发送 " ;}} 结果:已发送//都不知道这个问题有什么意义str = id == "0 " ? "已发送 " : id == "1 " ? "未发送 " : "已发送 "; 等同于str = id == "0 " ? "已发送 " : (id == "1 " ? "未发送 " : "已发送 "); 先计算后面的以上结果,从程序跟踪得出,数据如下 str = id == "0 " ? "已发送 " : (id == "1 " ? "未发送 " : "已发送 ");00000075 mov edx,dword ptr ds:[023B307Ch] 0000007b mov ecx,dword ptr [ebp-3Ch] 0000007e call 785E4A88 00000083 mov esi,eax 00000085 test esi,esi 00000087 jne 000000AE 00000089 mov edx,dword ptr ds:[023B3080h] 0000008f mov ecx,dword ptr [ebp-3Ch] 00000092 call 785E4A88 00000097 mov esi,eax 00000099 test esi,esi 0000009b jne 000000A6 0000009d nop 0000009e mov esi,dword ptr ds:[023B3084h] 000000a4 jmp 000000AC 000000a6 mov esi,dword ptr ds:[023B3088h] 000000ac jmp 000000B4 000000ae mov esi,dword ptr ds:[023B3084h] 000000b4 mov dword ptr [ebp-40h],esi --- str = (id == "0 " ? "已发送 " : id) == "1 " ? "未发送 " : "已发送 ";00000075 mov edx,dword ptr ds:[023B307Ch] 0000007b mov ecx,dword ptr [ebp-3Ch] 0000007e call 785E4A88 00000083 mov esi,eax 00000085 test esi,esi 00000087 jne 0000008F 00000089 nop 0000008a mov esi,dword ptr [ebp-3Ch] 0000008d jmp 00000095 0000008f mov esi,dword ptr ds:[023B3080h] 00000095 mov edx,dword ptr ds:[023B3084h] 0000009b mov ecx,esi 0000009d call 785E4A88 000000a2 mov esi,eax 000000a4 test esi,esi 000000a6 jne 000000B1 000000a8 nop 000000a9 mov esi,dword ptr ds:[023B3080h] 000000af jmp 000000B7 000000b1 mov esi,dword ptr ds:[023B3088h] 000000b7 mov dword ptr [ebp-40h],esi --- str = id == "0 " ? "已发送 " : id == "1 " ? "未发送 " : "已发送 ";00000075 mov edx,dword ptr ds:[023B307Ch] 0000007b mov ecx,dword ptr [ebp-3Ch] 0000007e call 785E4A88 00000083 mov esi,eax 00000085 test esi,esi 00000087 jne 000000AE 00000089 mov edx,dword ptr ds:[023B3080h] 0000008f mov ecx,dword ptr [ebp-3Ch] 00000092 call 785E4A88 00000097 mov esi,eax 00000099 test esi,esi 0000009b jne 000000A6 0000009d nop 0000009e mov esi,dword ptr ds:[023B3084h] 000000a4 jmp 000000AC 000000a6 mov esi,dword ptr ds:[023B3088h] 000000ac jmp 000000B4 000000ae mov esi,dword ptr ds:[023B3084h] 000000b4 mov dword ptr [ebp-40h],esi HashMap TreeMap HashSet HashTable内部实现大概有什么不同呢 利用反射调用C#写的DLL的时,怎样给DLL中委托类型字段赋值 c# 事务问题 中文分词算法效率问题 新手:获取cookie的值,请大家看看为什么获取不到 为什么服务会不能启动啊,win2000下 install shield打包工具,需要学习脚本语言吗? C#中如何使用进度条? 有谁做过公式生成的小程序 msn messenger的通知框的颜色是如何作出来的? 在线等,第一次发帖,不信等不来回复,提问! 关于textbox怎样才能只能输入数字
str = id == "0 " ? "已发送 " : id == "1 " ? "未发送 " : "已发送 ";
没引号了?
相当与上面的
开始id="0";
就是true str就直接="已发送"
如果id不等与"0" 就取后面的了```如果id也不等于"1" 为false 也是取"已发送"
string str;
str = (id == "0 " ? "已发送 " : ( id == "1 " ? "未发送 " : "已发送 "));
Console.Write(str); 顺序:id=="1"?"未发送":"已发送"得"已发送"
-->
id=="0"?"已发送":"已发送"输出:已发送ps:没有测验过
从右运算到左先运算 id == "1 " ? "未发送 " : "已发送 " id = "0 "表达式返回"已发送"
再运算? id == "0 " ? "已发送 " : (id == "1 " ? "未发送 " : "已发送 ")
括号中的为刚刚第一次运算结果"已发送" 这样就变成 id == "0 " ? "已发送 " : "已发送"
结果为"已发送"
当然是已发送了
1、先判断id == "0 " ;
2、id == "0 " 不成立,判断id == "1 ";
3、因为id == "0 "成立,则结果值为:"已发送 "
str = id == "0 " ? "已发送 " : id == "1 " ? "未发送 " : "已发送 ";
id == "1 " ? "未发送 " : "已发送 "; 不执行
LZ 分很多嘛?JF
{
str="已发送 " ;
}
else
{
if( id == "1 ")
{
str="未发送 " ;
}
else
{
str="已发送 " ;
}
}
//都不知道这个问题有什么意义
str = id == "0 " ? "已发送 " : id == "1 " ? "未发送 " : "已发送 "; 等同于
str = id == "0 " ? "已发送 " : (id == "1 " ? "未发送 " : "已发送 ");
先计算后面的
以上结果,从程序跟踪得出,数据如下 str = id == "0 " ? "已发送 " : (id == "1 " ? "未发送 " : "已发送 ");
00000075 mov edx,dword ptr ds:[023B307Ch]
0000007b mov ecx,dword ptr [ebp-3Ch]
0000007e call 785E4A88
00000083 mov esi,eax
00000085 test esi,esi
00000087 jne 000000AE
00000089 mov edx,dword ptr ds:[023B3080h]
0000008f mov ecx,dword ptr [ebp-3Ch]
00000092 call 785E4A88
00000097 mov esi,eax
00000099 test esi,esi
0000009b jne 000000A6
0000009d nop
0000009e mov esi,dword ptr ds:[023B3084h]
000000a4 jmp 000000AC
000000a6 mov esi,dword ptr ds:[023B3088h]
000000ac jmp 000000B4
000000ae mov esi,dword ptr ds:[023B3084h]
000000b4 mov dword ptr [ebp-40h],esi
---
str = (id == "0 " ? "已发送 " : id) == "1 " ? "未发送 " : "已发送 ";
00000075 mov edx,dword ptr ds:[023B307Ch]
0000007b mov ecx,dword ptr [ebp-3Ch]
0000007e call 785E4A88
00000083 mov esi,eax
00000085 test esi,esi
00000087 jne 0000008F
00000089 nop
0000008a mov esi,dword ptr [ebp-3Ch]
0000008d jmp 00000095
0000008f mov esi,dword ptr ds:[023B3080h]
00000095 mov edx,dword ptr ds:[023B3084h]
0000009b mov ecx,esi
0000009d call 785E4A88
000000a2 mov esi,eax
000000a4 test esi,esi
000000a6 jne 000000B1
000000a8 nop
000000a9 mov esi,dword ptr ds:[023B3080h]
000000af jmp 000000B7
000000b1 mov esi,dword ptr ds:[023B3088h]
000000b7 mov dword ptr [ebp-40h],esi ---
str = id == "0 " ? "已发送 " : id == "1 " ? "未发送 " : "已发送 ";
00000075 mov edx,dword ptr ds:[023B307Ch]
0000007b mov ecx,dword ptr [ebp-3Ch]
0000007e call 785E4A88
00000083 mov esi,eax
00000085 test esi,esi
00000087 jne 000000AE
00000089 mov edx,dword ptr ds:[023B3080h]
0000008f mov ecx,dword ptr [ebp-3Ch]
00000092 call 785E4A88
00000097 mov esi,eax
00000099 test esi,esi
0000009b jne 000000A6
0000009d nop
0000009e mov esi,dword ptr ds:[023B3084h]
000000a4 jmp 000000AC
000000a6 mov esi,dword ptr ds:[023B3088h]
000000ac jmp 000000B4
000000ae mov esi,dword ptr ds:[023B3084h]
000000b4 mov dword ptr [ebp-40h],esi