gpt4 book ai didi

c# - 为什么 List、Dictionary 和其他集合包含一个名为 "version"的字段?

转载 作者:太空狗 更新时间:2023-10-30 00:48:01 25 4
gpt4 key购买 nike

我查看了 C# 的源代码引用,并在一些集合中找到了:

int _version = 0;

每次集合更改时,版本都会增加。

那个字段有什么意义?

Dictionary

List

Stack

最佳答案

查看源代码here它似乎用于检查状态是否已更改并导致内部 Enumerator扔一个InvalidOperationException枚举的时候。这也适用于 List<T>.ForEach(..)方法。

这是有道理的,因为在枚举集合时修改集合是不合法的。更准确地说,一旦集合被修改后继续迭代集合是不合法的,但我发现前一条规则使我免于遇到后者。

关于c# - 为什么 List<T>、Dictionary<T> 和其他集合包含一个名为 "version"的字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51052051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com