C#中List<T>.Remove返回false除元素不存在外还有其他原因吗?
关于
List<T>.Remove(T)返回false的原因 - 你没有过度解读,但实际开发中,
List<T>.Remove(T)返回false的唯一常见原因就是目标元素不存在于列表中。 - 文档的表述属于严谨的技术措辞,不过从实际行为来看,不存在其他会让它返回false的正常场景:
- 如果操作过程中列表被其他线程修改(
List<T>本身非线程安全),会直接抛出InvalidOperationException,而非返回false; - 只要元素存在于列表中,且操作过程中没有线程安全问题,
Remove(T)就会成功移除元素并返回true。
- 如果操作过程中列表被其他线程修改(
总结:日常开发里,完全可以把返回false等同于“元素不在列表中”来处理。
内容的提问来源于stack exchange,提问作者Commonaught
相关产品推荐
相关产品推荐

