认识c#中结构类型
来源:互联网 发布:域名备案代办 编辑:程序博客网 时间:2024/06/05 09:26
结构类型的定义
结构类型是用户自定义的数据类型,可以说是一个简化版的类。在这个类型里可以包含属性还有方法。定义举例:
Public struct people
{
String name;
Int age;
}
结构类型与类的区别:
1.结构是值类型,而类是引用类型;
2.结构的实例化可以不使用new 运算符;
3.结构不具有类的继承特点;
类和结构类型试用场合的对比:
结构和类的适用场合分析:
1、当堆栈的空间很有限,且有大量的逻辑对象时,创建类要比创建结构好一些;
2、对于点、矩形和颜色这样的轻量对象,使用结构的成本较低;
3、在表现抽象和多级别的对象层次时,类是最好的选择,因为结构不支持继承。
结构类型的使用例子
结构的定义
public structPeopleStruct
{
public string Name;
public int Age;
}
类的定义
public class PeopleClass
{
public string Name;
public int Age;
}
主函数
static void Main(string[] args)
{
PeopleStructp1, p2; //与类一样,但可以不new
p1.Name = "小明";
p1. Age = 10;
p2 = p1; //将p1的值赋给p2 //由于是值类型,因此赋值等于将全部值全部复制到p2的栈空间
p2.Name = "小刚"; //然后修改p2的值看是否会影响p1
Console.WriteLine(p1.Name); //输出小明
PeopleClassp3 = new PeopleClass();
p3.Name = "小明";
PeopleClassp4 = new PeopleClass();
p4 = p3; //将p3的值赋给p4 赋值后,由于是引用类型,因此两个对象指向的是同一个地址(堆空间)
p4.Name = "小刚"; //然后修改p4的值看是否会影响p3
Console.WriteLine(p3.Name); //输出小刚
Console.ReadKey();
}
总结
总之,结构类型用的是栈存储,类用的堆存储。对于两个结构变量如果互相赋值,修改其中一个,不影响另外一个数值。但是如果对于两个类的实例化对象的互相赋值,吸怪其中一个,就会影响到另外一个了,因为两者用的是同一个引用,在堆里操作的是同一个对象。
- 认识c#中结构类型
- C#中结构类型和类类型
- C#的结构类型
- c#结构类型
- C#数据类型-结构类型
- C# Struct 结构类型
- C#结构类型
- C#中对值类型和引用类型的一点认识
- C#中将结构类型数据存储到二进制文件中方法
- c#结构体(值类型)
- c#结构体(值类型)
- C# 中InterFace的认识
- C#中线程的认识
- C#中结构体实现接口后是值类型还是引用类型
- C#中 类和结构 值类型和引用类型以及 值传递和引用传递
- C#中结构体实现接口后是值类型还是引用类型
- C# 结构体类型和类类型
- C语言中结构体的认识
- vowpal_wabbit安装和使用总结
- justinmind教程--justinmind破解
- iOS inline
- 状态机
- 何为“渲染”
- 认识c#中结构类型
- iOS 滑动删除cell
- ubuntu 使用、配置postgresql以及psycopg2
- 匹配命令行参数的正则表达式
- Ext grid单元格编辑不失去焦点点击保存
- C++ 使用ifstream和getline读取txt文件内容
- 环形队列,动态内存
- memcache配置、基本使用与集群配置
- python创建任意大小的文件