关于C#中 struct使用new 初始化
来源:互联网 发布:卡尔曼滤波 c语言 编辑:程序博客网 时间:2024/06/10 15:59
C#中对于struct我们进行初始化时可以使用new 语句
例如有一个结构体Point
struct Point
{
float x;
float y;
}
我们将其实例化时可以使用语句:
Point p = new Point();
这不同于类使用new 语句,我们知道对一个类使用new语句会在托管堆上分配空间,而struct是值类型所以应该在栈上为其分配空间。
实际上,以上语句的功能与
Point P; 功能基本相同,不同的是使用new 语句,C#会认为接口体中的成员已经得到初始化,此时x,y会被初始化为默认值0.
如果不使用new 语句,x,y的值可能未知。
看一个例子:
Point p = new Point();
float a = p.x; ///////////编译通过,a的值为0
Point p;
foalt a = p.x; ////////////编译不过,编译器认为p的字段未得到初始化
- 关于C#中 struct使用new 初始化
- 关于 C# 中 Struct 和 C++/Cli 中 value class 的 new 和 gcnew 的区别
- 关于struct的初始化
- C# struct 与class 使用 new 关键字的区别
- C# new和初始化
- C#中使用List<struct>的问题
- 关于C#中关键字new override的使用(与C++对比)
- C#中virtual, override, new的使用
- C++中使用new最好要显示调用初始化函数
- golang 内置函数new() 和struct{} 初始化的区别
- 关于struct的初始化的说明
- C#中使用C++ struct位域的方法小结
- c#中Class和Struct使用与性能的区别
- c#中Class和Struct使用与性能的区别
- C#中关于new关键字带来的无限递归错误
- c#学习中关于new和override的一点小结
- C++中慎用memset初始化struct
- struct中初始化中的一个大错误
- Array和ArrayList有哪些区别?
- RFC3920中文
- Spring从菜鸟到高手(四)(下)使用JdbcTemplate类实现批量查询
- 一位大四程序员的面试经历和体会
- typedef与define 用法总结
- 关于C#中 struct使用new 初始化
- JavaSE总结目录
- VS 2005中xml文件和实体类(List)之间的转换
- 放大镜
- 腾讯开放平台
- 等概率随机函数的实现
- GLOOX 1.0---注册模块
- 第五周实验报告(一)
- U-boot分析(一):对象链接