C_Sharp 板


LINE

请问各位大大,以下程式码,_users常会因null而错误, 但已经用private static 来宣告了,不是应该不会让_users为null吗? public static class Users { private static Dictionary<string, User> _users = new Dictionary<string, User>(); public static List<User> AllUser { get { return _users.Select(x=> x.Value).ToList(); } } public static void Add(this IIdentity _id, User _user) { if (_users is Dictionary<string, User>) { _users[_user.ID] = _user; //在这边常会因为 _users是null而错误。 } } } --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 180.183.247.253 (泰国)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1599707111.A.E15.html
1F:→ awwseed: Code可以贴在 https://dotnetfiddle.net/ 等地方方便阅读 09/10 11:40
2F:→ awwseed: 不过你的问题应该是 _users[_user.ID] 不存在才炸? 09/10 11:41
3F:→ awwseed: 检查是否存在的话用 .ContainsKey() 可能比较好 09/10 11:43
4F:→ awwseed: https://dotnetfiddle.net/G1h69G 09/10 11:58
5F:→ awwseed: 不确定你其他地方是否有对 _users 做操作 09/10 11:58
6F:→ petercoin: 同楼上 key不存在时要用Add 不然就exception了 09/10 12:29
7F:推 Litfal: dict透过的索引键set不会跳错啦 09/10 13:24
8F:→ awwseed: 原来 Dict 透过索引不会炸错XD 09/10 13:37
9F:→ awwseed: 那就比较可能是 Users 里面有其他地方对 _users 有操作? 09/10 13:38
10F:→ wind681201: 但这就是问题,其它地方没有让_users变null的问题 09/10 15:08
11F:→ wind681201: 都是在add,就算remove key也不会让_users变null 09/10 15:09
12F:→ wind681201: 而且在新增时,我检查过一次_users是不是null了 09/10 15:10
13F:→ gn1943141: readonly 09/10 15:56
14F:→ gn1943141: 一定有什麽地方赋空值,private跟static没保证不能赋 09/10 15:59
15F:→ gn1943141: 值,可能是时序问题导致 09/10 15:59
16F:→ gn1943141: 或null的是user而不是users,确认看看 09/10 16:02
17F:→ t64141: 有没有可能 _user 是 null, 所以 _user.ID 抛错,但因为 09/10 16:16
18F:→ t64141: 位置与名字都跟 _users 太接近所以看错了? 09/10 16:16
19F:→ petercoin: @Litfal 谢谢你的指正XD 我记成C++的map了QQ 09/10 16:50
20F:→ wind681201: t64141你说的很有可能,因为重现了一样的错误 09/10 17:56
21F:→ wind681201: 我会再过滤user.id的部份,谢谢 09/10 17:56
22F:推 haves560: 注意iis 回收 可能也会导致此问题 09/13 11:56
23F:推 Litfal: iis回收会导致内容不见,但不会null,重新启动就重建 09/13 14:25
24F:→ wind681201: 我也想过IIS的问题,但是,有可能回收时,正好在执行 09/14 18:07
25F:→ wind681201: 中吗?然後会造成不见? 09/14 18:07
26F:推 kaneson: 我觉得是Add()传参数发生此_user非彼_user 09/24 09:19
27F:推 kaneson: 喔,变数名称我看错了,抱歉 09/24 09:32







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灯, 水草

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

TOP