为什么C不允许锁定空值?

C#不允许锁定空值。我想我可以在锁定它之前检查该值是否为null,但是因为我没有锁定它,另一个线程可能会出现并使该值为null!我怎样才能避免这种比赛状态

无法锁定空值,因为CLR没有可附加SyncBlock的位置,这允许CLR通过Monitor.Enter/Exit同步对任意对象的访问(这是lock内部使用的)

发表评论