码迷,mamicode.com
首页 > 其他好文 > 详细

快速入门C#编程之struct和class对比

时间:2014-06-28 08:38:41      阅读:164      评论:0      收藏:0      [点我收藏+]

标签: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#编译器在编译的时候会自动的为这个类生成一个无参数的构造函数,但是一旦我们为这个类写了任意的一个构造函数的时候,这个隐式的构造函数就不会自动生成了。

快速入门C#编程之struct和class对比,布布扣,bubuko.com

快速入门C#编程之struct和class对比

标签:c#   struct   class   

原文地址:http://blog.csdn.net/bluecloudmatrix/article/details/34813243

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!