C_Sharp 板


LINE

null这个东西,真的是很讨厌,虽然它叫做连空白也没有。 但,没有就没有,干麻报错。 举个例来说: 我有一个 class 叫person ,里面有人名,年纪二个栏位 若我查询 人名叫josn 的就怎样怎样。 假设这个person是null if(person.name == "josn"){怎样。} 就错,为什麽不直接跳过去就好,因为我只是判别呀。 而非要写成 if(person != null && person.name == "josn"){怎样。} 就这样,就要多几个字,很讨厌 由上面的例子,person 是null 那在person.name 当然就不可能为josn,就 跳过去就好,干麻要报错。 由其是dictionary物件,为了安全,非要一个containskey,先看有没有再处理。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.161.78.48
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1493996089.A.75B.html
1F:推 yeo1987: 可改用person?.name == "json" / Dictionary.TryGetValue 05/05 23:01
2F:→ yeo1987: josn, 打错=.= 05/05 23:02
3F:→ wind681201: 若person是null,name也是null的话,就没办法了吧 05/05 23:09
4F:→ wind681201: tryGetValue,是好一点,但还是不能直接用 05/05 23:10
5F:→ wind681201: 就是还是要多一层判别 05/05 23:10
6F:推 vi000246: https://goo.gl/s2pXbR 05/06 00:03
7F:→ vi000246: 原来一楼有贴了 05/06 00:03
8F:→ vi000246: 不然就用try{...} catch(){} 略过exception就好 05/06 00:04
9F:推 e23882: NullReferenceException 05/06 01:45
10F:→ ssas1115577: 逻辑问题,就像是我想透过看我钱包这个动作来看我还 05/06 02:31
11F:→ ssas1115577: 有多少钱,但其实我根本没有钱包 05/06 02:31
12F:→ IKAFIRE: 拜托不要用try catch做这种简单的判断 05/06 11:22
13F:推 james732: 同一楼,用?应该可以简化 05/06 11:46
14F:推 skitty: .ToString 05/06 21:59
15F:→ testPtt: 那你就不要让他null不就好了 05/07 00:23
16F:嘘 jizang: 宣告马上给初始值。 05/07 00:42
17F:→ ssccg: 没有值就是null,不是什麽东西都适合有初始值 05/07 02:59
18F:→ ssccg: 是说 ?. 已经很方便了啊 05/07 03:08
19F:嘘 bizer: 没有人又怎会有名子,写程式本来最好就严谨点,bug才比较少 05/07 04:39
20F:→ vi000246: 查到一个GetValueOrDefault()可以试试 05/07 10:55
21F:嘘 jizang: 给初始值 String.Empty 是一种习惯!编译器都会给警告~ 05/07 11:22
22F:→ wind681201: 其实理论我懂,只是觉得null 不等於json干麻要报错 05/07 17:49
23F:推 vi000246: 不然写个扩充方法好了http://imgur.com/JIbNeXk 05/07 19:32
24F:→ vi000246: 只是正确的解法应该是呼叫前就要判断null 05/07 19:34
25F:→ wind681201: 谢谢~~~ 05/07 20:36
26F:嘘 Litfal: 3F在说什麽...name也是null又怎样? 05/07 20:54
27F:→ uranusjr: 请爱用 null object pattern, 或改写 Objective-C 05/08 02:30
28F:推 soheadsome: 用optional啊 05/08 18:16
29F:推 s4300026: 只有我喜欢null吗? 我一直困扰着没有任何东西代表没有 05/08 18:37
30F:→ s4300026: 东西,就像是-1与1之间的 “没有”般的喜爱,与其自 05/08 18:37
31F:→ s4300026: 己定义,倒不如有个固定的东西可以指派。 举例来说,如 05/08 18:37
32F:→ s4300026: 果你要求输入自然数为变数,你可能会在意没有输入值的 05/08 18:37
33F:→ s4300026: 情况,或许任何负数都可以代表这个情形,但你不觉得交 05/08 18:37
34F:→ s4300026: 由null是更好的一件事情吗? 05/08 18:37
35F:→ ssccg: 不要跳exception的话就很好 05/08 20:44
36F:推 outofyou: 想过这个问题,觉得让 05/10 00:47
37F:→ outofyou: ((person)null).name == (string)null好像可以,但又不 05/10 00:47
38F:→ outofyou: 想自己写compiler,所以发现C#有?.的语法时有惊喜到。 05/10 00:47
39F:→ outofyou: 但dictionary会分不清d[key].value==null及d[key]==null 05/10 00:48
40F:→ outofyou: 上一句错了,dictionary确认有没有此key很正常吧 05/10 00:58
41F:→ jinmin88: 相信我 如果没null可用某些状况下你会更想哭 05/11 04:56
42F:嘘 s89227: 遇到NullException表示你的逻辑设计有问题,Compiler才讨 05/12 21:12
43F:→ s89227: 厌你吧,好心提醒你没好报! 05/12 21:13
44F:→ ssccg: null exception是runtime的吧? 跟compiler有关系? 05/13 06:24
45F:→ s89227: ……对欸,我脑袋一时糊涂了,谢谢楼上提醒QQ 05/15 01:31
46F:→ AizawaYuuiti: 当person == null的时候,别说person.name是否等於 05/19 14:58
47F:→ AizawaYuuiti: john了,person是无法读取name属性的 05/19 14:59
48F:→ AizawaYuuiti: 一般来说我会先在外面判断null,不是才进去做事 05/19 14:59
49F:→ AizawaYuuiti: 是的话直接置底报错或跳过,因为有时候null是代表 05/19 15:00
50F:→ AizawaYuuiti: 那里就是真的没东西,而不是不是你要的东西 05/19 15:00
51F:→ AizawaYuuiti: 如果你没去检查是否有旧的物件残留,有时候会有逻辑 05/19 15:01
52F:→ AizawaYuuiti: 上的盲点 05/19 15:01
53F:→ AWEN221: 不喜欢就自己覆写运算子...... 05/31 14:45
54F:→ AWEN221: 等有天你自以为都有赋值CODE量又很多 就需要它报错了 05/31 14:50







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP