首页 > 代码库 > 快速入门C#编程之struct和class对比
快速入门C#编程之struct和class对比
1、下面是一个结构的定义:
public struct Point { public int X { get; set; } public int Y { get; set; } }
什么时候用结构:
- 用于小型的数据结构
- 其中的值一般不修改
2、类的定义:
public class Animal { public string Name { get; set; } public double Weight { get; private set; } private string _color; public string Color { get { return _color; } set { _color = value; } } public void MakeSound() { Console.WriteLine(Sound); } }
3、结构和类的一个区别:
现在上面两个都没有显式的构造函数,如果给它们加上显式的构造函数:
public struct Point { public int X { get; set; } public int Y { get; set; } public Point(int X, int Y) { this.X = X; this.Y = Y; } }
如果我们进行实例化,可以发现隐式构造函数仍然可用:
Point p = new Point(); Point P = new Point(10, 12);
但同时我们就不能在结构中再定义一个无参数的构造函数了。而对于类,如果我们没有为类写任意的构造函数,那么C#编译器在编译的时候会自动的为这个类生成一个无参数的构造函数,但是一旦我们为这个类写了任意的一个构造函数的时候,这个隐式的构造函数就不会自动生成了。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。