List问题

xiaohu9711 2010-08-30 01:32:19
在list中使用结构体的时候,怎么修改结构中的数据。
public List<structCars> lstCars = new List<structCars>();

//struct:
public struct structCars
{
public bool bValid;
}

我现在想修改lstCars列表中的结构体数据?

我使用lstCars[i].bValid时出现:无法修改“System.Collections.Generic.List<structCars>.this[int]”的返回值,因为MainForm.cs它不是变量
...全文
141 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Peter200694013 2010-08-30
  • 打赏
  • 举报
回复
错误原因:
分析错误:
list将Item属性实现为[]操作,所以a[i]是执行return的,STRUCT是值类型的,当用下标操作返回时,是值拷贝操作。就是将a[i]中的struct赋给临时变量,而这个赋值过程是值拷贝,值拷贝是内存复制,所以当赋值"jhon"时,只更改临时变量,而不会改变LIST中的元素所指向的内存。C#为了避免这个问题和C#的严谨,所以在编译时作为错误处理。

-----------------------------
更多信息:
MSDN关于C#结构的说明:C#中的结构和C++是完全不同的,C++结构和类没有明显界限,C#中结构则是完全不同的。
structs 是值类型,而类是引用类型。对于 structs,构造函数的工作方式有一些差异。尤其是,编译器始终提供一个默认的无参数构造函数,它是不允许替换的。 类在人为定义了构造函数后,默认构造函数被替换。

结构的副本由编译器自动创建和销毁,因此不需要使用默认构造函数和析构函数。实际上,编译器通过为所有字段赋予默认值(参见默认值表)来实现默认构造函数。结构不能从类或其他结构继承。

结构是值类型 -- 如果从结构创建一个对象并将该对象赋给某个变量,变量则包含结构的全部值。复制包含结构的变量时,将复制所有数据,对新副本所做的任何修改都不会改变旧副本的数据。由于结构不使用引用,因此结构没有标识 -- 具有相同数据的两个值类型实例是无法区分的。C# 中的所有值类型本质上都继承自 ValueType,后者继承自 Object。
大Y 2010-08-30
  • 打赏
  • 举报
回复
在帖出来些code
xiaohu9711 2010-08-30
  • 打赏
  • 举报
回复
我试试,多谢3楼
lvfeng19806001 2010-08-30
  • 打赏
  • 举报
回复
有给他赋值吗?
gomoku 2010-08-30
  • 打赏
  • 举报
回复
写入整个结构体。

structCars car = lstCars[3];
car.bValid = true;
lstCars[3] = car;
xiaohu9711 2010-08-30
  • 打赏
  • 举报
回复
哪里有set方法啊?
huangqz2008 2010-08-30
  • 打赏
  • 举报
回复
你的Get,Set方法呢?
内容概要:本文提出了一种基于改进扩散模型的高海拔地区新能源高波动出力场景生成方法,并提供了完整的Python代码实现。该方法针对高海拔地区风能、光伏等新能源出力波动剧烈、不确定性高的特点,通过优化扩散模型的结构与训练策略,有效捕捉历史数据的概率分布特征与时序相关性,从而生成高质量、多样化的出力场景。文中详细阐述了模型的数学推导、网络架构设计、损失函数优化及采样算法改进,并通过实验证明其在拟合精度、场景多样性与稳定性方面优于传统生成模型,为电力系统在高比例新能源接入下的规划、调度与风险评估提供了可靠的场景输入支持。; 适合人群:具备一定Python编程能力和机器学习基础,从事新能源发电预测、电力系统分析、智能优化、场景生成等方向研究的科研人员、高校研究生及工程技术人员。; 使用场景及目标:①用于高海拔地区风电、光伏出力的不确定性建模与多场景生成;②支撑含高渗透率新能源的电力系统随机优化调度、鲁棒决策与风险评估;③为相关学术研究、论文复现与算法改进提供可运行的技术方案与代码基础; 阅读建议:建议读者结合所提供的完整资源(代码、数据集、说明文档)进行实践操作,重点关注扩散模型的前向加噪与反向去噪过程的设计细节,以及如何将其适配于新能源时序数据的生成任务,通过参数调优与对比实验深入理解模型的生成机制与性能边界。
内容概要:本文围绕基于静态约束法的配电网电动汽车接入容量评估展开研究,提出了一种在新型电力系统背景下评估主动配电网对电动汽车承载能力的方法。研究通过构建数学模型,结合潮流计算与关键约束条件(如电压越限、线路过载等),量化分析配电网可承受的最大电动汽车充电负荷容量,旨在识别规模化电动汽车接入带来的潜在运行风险,并为电网规划与运行提供科学依据。文中配套提供了完整的Matlab代码实现,便于仿真验证与结果复现。此外,该研究与分布式光伏承载力评估、电动汽车可调能力分析等方向形成技术联动,展现了多主题协同的研究体系。; 适合人群:具备电力系统分析基础理论知识及Matlab编程能力的高校研究生、科研机构研究人员,以及从事新能源并网、智能配电网规划与运行等相关领域的工程技术人员。; 使用场景及目标:①用于学术研究中的模型复现与论文撰写支撑;②评估实际配电网中电动汽车大规模接入的可行性与安全边界,指导充电基础设施布局;③作为高校教学案例,帮助学生深入理解电网承载力评估的核心原理、建模方法与仿真技术; 阅读建议:建议结合文中提及的相关研究方向(如二阶锥规划、多面体聚合方法等)进行对比学习,充分利用所提供的Matlab代码与网盘资料开展仿真实验,重点关注约束条件的设定逻辑与潮流计算模块的实现细节,以深化对评估模型机理与工程应用价值的理解。

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧