-
在C#中,发现尝试直接修改集合中值类型的中的值发生报错

提示"它不是变量",通过官方索引的链接可知,尝试修改某一值类型,但是该值类型作为中间表达式的结果生成但不存储在变量中,会发生报错。
正确做法是将其赋值给局部变量,然后再将变量赋回集合中的项

其原因为

-
对于"如果是在定义类或结构,则..."其示例为

因为这里的pro2返回的是值类型,属性的get返回的是副本(如果是属性是个引用类型的话返回的是引用),而直接操作_pro是没有问题的,因为是直接操作对象
-
如果集合是个List的话,直接通过索引操作也是不行的,而数组的话就可以

因为List的索引器是一个属性,而数组是个引用类型

-
对于,"如果是在编写客户端代码...",其示例为

即再新建一个结构体的实例,赋值回去
C# CS1612 尝试修改集合中值类型的情况
红黑色的圣西罗2024-09-29 13:20
相关推荐
宝桥南山1 天前
GitHub Models - 尝试一下使用GitHub Modelshixiong1231 天前
C# OpenvinoSharp部署INSID3星辰徐哥1 天前
Unity C#入门:变量的定义与访问权限(public/private)leoufung1 天前
LeetCode 30:Substring with Concatenation of All Words 题解(含 C 语言 uthash 实现)hacker7071 天前
Visual Studio安装教程(C#开发版)SKY -dada1 天前
Understand 使用教程William_cl2 天前
【C#/.NET 进阶】ASP.NET 架构与最佳实践:DI 依赖注入(IoC 核心)从入门到避坑武藤一雄2 天前
WPF:MessageBox系统消息框武藤一雄2 天前
WPF进阶:万字详解WPF如何性能优化xiaogutou11212 天前
2026年历史课件PPT模板选购指南:教师备课效率与精度的平衡方案