c#中结构体和类在队列中的引用类型问题

123 篇文章 11 订阅
35 篇文章 0 订阅

 class test
    {
        public  int a;
    }

 struct test
    {
        public  int a;
    }

void test()

{

List <test > tt= new List<test>();
            test aa = new test();
            aa.a = 99;
            tt.Add(aa);
            test cc = tt.First();
            cc.a = 88;

}

这个例子中test如果是类,则cc的值改变可以改变tt中列表的内容,如果是结构体则不能,说明类是引用类型从堆中获取了内存地址给cc,而结构体则是拷贝了tt中的内容给cc在栈上。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
各位试读过后认为好请支持正版!!! 第二个包的地址http://download.csdn.net/source/1170986 第三个包的地址http://download.csdn.net/source/1170990 作者: Jesse Liberty 著 刘基诚,李愈胜,刘卫卫 译 出版: 2007年9月 书号: 978-7-121-04592-9 页数: 666 定价: 78.00元 章节目录 前言 I 第1部分 C#语言 1 第1章 C#与.NET框架 3 .NET平台 3 .NET框架 4 编译过程与MSIL 6 C#语言 7 第2章 出发:“Hello World” 9 、对象与型 9 开发“Hello World” 16 使用Visual Studio .NET调试器 21 第3章 C#语言基础 24 型 24 变量与常量 29 表达式 37 空白 37 语句 38 操作符 54 预处理指令 63 第4章 与对象 67 定义 68 创建对象 73 使用静态成员 80 销毁对象 85 传递参数 88 重载方法和构造方法 94 用属性封装数据 97 只读字段 101 第5章 继承与多态 104 具体化与一般化 104 继承 107 多态 107 抽象 115 万之根:Object 119 型的装箱和拆箱 121 嵌套 124 第6章 操作符重载 127 使用operator关键字 127 支持其他.NET语言 128 创建有用的操作符 128 逻辑操作符对 129 等于操作符 129 转换操作符 130 第7章 结构体 136 定义结构体 136 创建结构体 139 第8章 接口 144 实现接口 145 访问接口方法 154 重定义接口的实现 162 显式接口实现 166 第9章 数组、索引器与集合 176 数组 176 foreach语句 181 索引器 197 集合接口 206 约束 210 List<T> 215 队列 226 栈 229 字典 232 第10章 字符串与正则表达式 235 字符串 236 正则表达式 251 第11章 异常处理 263 抛出和捕获异常 264 Exception对象 274 自定义异常 278 重新抛出异常 280 第12章 委托与事件 286 委托 287 多重委托 298 事件 302 使用匿名方法 315 从多重委托获取值 316 第2部分 C#编程 325 第13章 创建Windows应用程序 327 创建一个简单的Windows窗体 328 创建Windows Forms程序 332 XML文档型注释 357 第14章 用ADO.NET访问数据 360 关系型数据库与SQL 360 ADO.NET对象模型 364 开始使用ADO.NET 366 使用OLE DB托管提供程序 369 使用数据绑定控件 371 第15章 ASP.NET程序与Web Services编程 380 理解网页窗体 381 创建一个网页窗体 385 添加空间 389 数据绑定 391 Web Service 401 SOAP、WSDL和发现 402 创建一个Web Service 403 创建代理 407 第16章 综合运用 414 总体设计 414 建立网络服务客户端 414 显示结果 424 根据分检索 433 第3部分 C#与.NET CLR 439 第17章 程序集和版本控制 441 PE文件 441 元数据 441 安全边界 442 清单 442 多模块程序集 443 专用程序集 451 共享程序集 452 第18章 属性和反射 459 属性 459 反射 466 第19章 封送和远程编程 478 程序域 479 上下文 489 远程访问 491 第20章 线程与同步 503 线程 504 同步 513 竞赛状态和死锁 523 第21章 流 525 文件和目录 526 读写数据 537 异步I/O 544 网络I/O 549 网页流 569 序列化 572 独立存储 581 第22章 COM组件在.NET平台上的编程 585 导入ActiveX控件 585 导入COM组件 593 导出.NET组件 602 P/Invoke 604 指针 608 附录 C#关键字 613 索引 619
各位觉得好就支持下正版!!! 第一个包的地址http://download.csdn.net/source/1170979 第三个包的地址http://download.csdn.net/source/1170990 《Programming C#(第4版)(文版)》 作者: Jesse Liberty 著 刘基诚,李愈胜,刘卫卫 译 出版: 2007年9月 书号: 978-7-121-04592-9 页数: 666 定价: 78.00元 章节目录 前言 I 第1部分 C#语言 1 第1章 C#与.NET框架 3 .NET平台 3 .NET框架 4 编译过程与MSIL 6 C#语言 7 第2章 出发:“Hello World” 9 、对象与型 9 开发“Hello World” 16 使用Visual Studio .NET调试器 21 第3章 C#语言基础 24 型 24 变量与常量 29 表达式 37 空白 37 语句 38 操作符 54 预处理指令 63 第4章 与对象 67 定义 68 创建对象 73 使用静态成员 80 销毁对象 85 传递参数 88 重载方法和构造方法 94 用属性封装数据 97 只读字段 101 第5章 继承与多态 104 具体化与一般化 104 继承 107 多态 107 抽象 115 万之根:Object 119 型的装箱和拆箱 121 嵌套 124 第6章 操作符重载 127 使用operator关键字 127 支持其他.NET语言 128 创建有用的操作符 128 逻辑操作符对 129 等于操作符 129 转换操作符 130 第7章 结构体 136 定义结构体 136 创建结构体 139 第8章 接口 144 实现接口 145 访问接口方法 154 重定义接口的实现 162 显式接口实现 166 第9章 数组、索引器与集合 176 数组 176 foreach语句 181 索引器 197 集合接口 206 约束 210 List<T> 215 队列 226 栈 229 字典 232 第10章 字符串与正则表达式 235 字符串 236 正则表达式 251 第11章 异常处理 263 抛出和捕获异常 264 Exception对象 274 自定义异常 278 重新抛出异常 280 第12章 委托与事件 286 委托 287 多重委托 298 事件 302 使用匿名方法 315 从多重委托获取值 316 第2部分 C#编程 325 第13章 创建Windows应用程序 327 创建一个简单的Windows窗体 328 创建Windows Forms程序 332 XML文档型注释 357 第14章 用ADO.NET访问数据 360 关系型数据库与SQL 360 ADO.NET对象模型 364 开始使用ADO.NET 366 使用OLE DB托管提供程序 369 使用数据绑定控件 371 第15章 ASP.NET程序与Web Services编程 380 理解网页窗体 381 创建一个网页窗体 385 添加空间 389 数据绑定 391 Web Service 401 SOAP、WSDL和发现 402 创建一个Web Service 403 创建代理 407 第16章 综合运用 414 总体设计 414 建立网络服务客户端 414 显示结果 424 根据分检索 433 第3部分 C#与.NET CLR 439 第17章 程序集和版本控制 441 PE文件 441 元数据 441 安全边界 442 清单 442 多模块程序集 443 专用程序集 451 共享程序集 452 第18章 属性和反射 459 属性 459 反射 466 第19章 封送和远程编程 478 程序域 479 上下文 489 远程访问 491 第20章 线程与同步 503 线程 504 同步 513 竞赛状态和死锁 523 第21章 流 525 文件和目录 526 读写数据 537 异步I/O 544 网络I/O 549 网页流 569 序列化 572 独立存储 581 第22章 COM组件在.NET平台上的编程 585 导入ActiveX控件 585 导入COM组件 593 导出.NET组件 602 P/Invoke 604 指针 608 附录 C#关键字 613 索引 619
学习以c#的必备书 本书介绍了如何使用Visual C++ 6.0编写Windows应用程序。全书内容全面、结构清晰、由浅入深、注重实用,并结合了大量的实例,以方便读者理解。本书既包含菜单、鼠标、键盘等基本操作,又包含图形编程、Internet程序设计、数据库编程等高级主题。每章讲述一个主题,在展示知识点的同时,提供具体的演示实例,最后两章详细讲解了两个综合实例,以使读者对Visual C++编程技术有整体的认识。 目 录 第一篇 Visual C++基础 第1章 Visual C++集成开发环境 2 1.1 Visual C++的版本 2 1.2 安装Visual C++ 6.0 3 1.3 Visual C++集成开发环境 6 1.3.1 菜单栏 7 1.3.2 工具栏 11 1.3.3 工作区窗口 13 1.3.4 输出窗口 14 1.4 编写第一个程序Hello World 14 1.4.1 创建Hello World工程 15 1.4.2 编译并执行程序 16 1.5 小结 16 第2章 使用Visual C++创建基本应用程序 17 2.1 理解Visual C++工程 17 2.2 Visual C++应用程序的型 18 2.2.1 控制台应用程序 18 2.2.2 基于对话框的应用程序 19 2.2.3 单文档应用程序 19 2.2.4 多文档应用程序 19 2.2.5 基于HTML文档的应用程序 19 2.3 创建应用程序框架 20 2.3.1 创建基于对话框的应用程序 20 2.3.2 创建单文档应用程序 21 2.3.3 创建多文档应用程序 23 2.3.4 创建基于HTML的应用程序 24 2.4 小结 25 第3章 面向对象程序设计基础 26 3.1 面向过程与面向对象 26 3.1.1 面向过程的问题 26 3.1.2 面向对象的特性 27 3.2 C++的基本概念 27 3.2.1 结构体 27 3.2.2 与对象 29 3.2.3 的声明、定义和实现 29 3.2.4 成员变量 31 3.2.5 成员函数 32 3.2.6 静态成员 34 3.2.7 this指针 35 3.3 构造函数 37 3.3.1 使用构造函数的原因 37 3.3.2 构造函数的使用 37 3.3.3 重载构造函数 40 3.3.4 析构函数 41 3.4 继承 43 3.4.1 继承的概念 43 3.4.2 继承的工作机制 43 3.4.3 公有继承 44 3.4.4 私有继承 46 3.4.5 保护继承 47 3.4.6 多重继承 49 3.5 异常处理 51 3.5.1 异常的概念 51 3.5.2 异常处理机制 51 3.5.3 基本异常处理方法 52 3.5.4 多个异常处理方法 54 3.6 小结 56 第4章 Visual C++调试技术 57 4.1 Debug与Release 57 4.2 调试的过程 58 4.2.1 设置断点 58 4.2.2 控制程序的运行 60 4.3 使用查看工具 60 4.3.1 弹出式调试信息泡泡 61 4.3.2 变量窗口 61 4.3.3 观察窗口 61 4.3.4 快速查看窗口 62 4.3.5 内存查看窗口 62 4.3.6 寄存器窗口 62 4.3.7 调用堆栈窗口 63 4.4 其他调试技术 63 4.4.1 TRACE宏 63 4.4.2 ASSERT宏 64 4.4.3 VERIFY宏 64 4.5 小结 64 第二篇 Windows编程 第5章 Windows程序设计 66 5.1 Windows编程简介 66 5.1.1 Windows API概述 66 5.1.2 Windows应用程序的常用术语 69 5.2 Windows应用程序运行机制 71 5.2.1 生成Windows应用程序框架 71 5.2.2 在Windows应用程序添加代码 71 5.2.3 编译并执行程序 74 5.3 程序入口:WinMain()函数 74 5.3.1 WinMain()函数的定义 75 5.3.2 定义和注册窗口 76 5.3.3 创建窗口 77 5.3.4 显示和更新窗口 78 5.3.5 消息循环 78 5.4 窗口过程函数和消息处理 80 5.4.1 窗口过程函数 80 5.4.2 常用消息的处理 82 5.5 小结 84 第6章 MFC编程概述 85 6.1 MFC概述 85 6.1.1 MFC设计原理 85 6.1.2 MFC特点 86 6.1.3 MFC AppWizard向导 86 6.2 MFC层次结构设计 88 6.2.1 单文档应用程序的构成 88 6.2.2 CObject 90 6.2.3 CCmdTarget

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值