C#学习:结构
来源:互联网 发布:光伏产业链 知乎 编辑:程序博客网 时间:2024/04/29 22:38
结构:
1) 是值类型,不是引用类型。它们存储在堆栈中或存储为内联(如果他们是另一个对象的一部分)
2) 结构不支持继承
A 其默认构造函数不允许替换,是隐式给出的无参构造函数,即使提供了其他带参数的构造函数,也是如此(不允许在字段定义时赋值,而是调用默认构造函数时赋值0)。
B 使用结构 可以指定字段如何在内存中布局(可参考MSDN的StructLayout)
但唯一的异常是:结构派生于类System.ValueType, System.ValueType派生于System.Object。System.ValueType没有添加自己的新方法,但提供了Object的一些更适合值类型的重写方法。
C 结构的初始化方法
Dimensions Pt=new Dimensions(); //只能是无参构造函数
Pt.Length=3;
Pt.Width=6;
也可
Dimensions Pt ;
Pt.Length=3;
Pt.Width=6; //若是Dimensions是类,编译就会出错。因为Pt应包含一个未初始化的引用---不指向任何地方的一个地址,所以不能给其字段设置值。
但对于结构,变量声明实际上是为整个结构分配堆栈中的空间,所以就可以赋值了。但上面的代码没有初始化结构,所以下面的代码:
Dimensions Pt ;
Double D=Pt.Length; //编译 初始化错误,使用了未初始化变量。
注意:把结构作为ref参数传递给方法,可以避免因复制数据带来的性能损失
D 结构的构造函数
- C#学习:结构
- C#结构零度学习
- C#结构的学习
- C#结构的学习
- C#学习之结构
- C#学习笔记 结构介绍
- C#学习笔记(四):结构类型
- 初步学习“C#中的结构(struct)”
- 初步学习“C#中的结构(struct)”
- C#学习(一)—结构
- C#学习之结构与函数
- C#学习笔记001-结构和枚举
- C#学习篇(七)结构体
- C#学习笔记类和结构体
- C#数组、结构和类学习
- c#学习笔记_结构体
- C#学习笔记——结构体
- C#结构
- 考研日志-4 and 小计划
- Pentaho为开源商业智能工具加入Ajax技术
- the Power Management Module of ADSP
- ParetoLogic Anti-Spyware 5.0.227
- 开发跨浏览器JavaScript
- C#学习:结构
- Pocket PC Network Programming
- 浅谈C#中的数组
- 802.11 Wireless Networks: The Definitive Guide, Second Edition by Matthew S Gast
- [原创]程序压缩 VS 程序内存占用
- 实时数据库与数据来源不一致
- Programming Spiders, Bots, and Aggregators in Java by Jeff Heaton
- php和COM
- Python 书籍 搜索