|
|
1
59
对,
但是请注意,您不能更改变量
C语言规范规定(8.8.4)
|
|
|
2
22
是的,直到将泛型类型从List更改为IEnumerable。 |
|
|
3
19
你在这里问了两个不同的问题,让我们按顺序回答。 foreach循环是否按引用迭代?如果你的意思是和引用循环相同的C++一样,那么,没有C C没有与C++相同的本地变量引用,因此不支持这种类型的迭代。 改变会持续吗假设myClass是引用类型,则答案是yes。类是.NET中的引用类型,因此迭代变量是对一个变量的引用,而不是对副本的引用。对于值类型,这不是真的。 |
|
|
4
15
嗯,当我遍历var集合时,我的更改没有在foreach循环中更新:
当我将var更改为list时,它开始工作。 |
|
|
5
6
在这种情况下(使用
如果它仍然是
|
|
|
6
3
这是真的,只要它不是一个结构。 |
|
|
7
2
好吧,在不理解“引用迭代”的确切含义的情况下,我不能明确回答“是”或“否”,但我可以说,表面上的情况是,.NET框架正在为每次客户端代码调用for each时构建一个“枚举器”类,在for each的生命周期内,它将引用指针维护到正在迭代集合,每次foreach迭代时,ir“传递”一个项并“递增”枚举器中指向下一个项的指针或引用… 无论您正在迭代的集合中的项是值类型还是引用类型,都会发生这种情况。 |
|
|
8
2
也许通过版本C 7.3,您会感兴趣,如果枚举器 电流 属性返回引用类型。以下内容有效(MS文档中的逐字副本):
有关此新功能的详细信息,请访问 C# foreach statement | Microsoft Docs . |
|
|
9
0
obj是对列表中某个项的引用,因此,如果更改它的值,它将保持不变。 现在,您应该关注的是get_The_List()是否对列表进行深度复制或返回相同的实例。 |
|
|
10
0
是的,这也是您不能在foreach语句的上下文中更改可枚举对象的原因。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |