using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyStudyDay05
{
struct Books
{
public string title;
public string author;
public string subject;
public int book_id;
public void show()
{
Console.WriteLine("我是一本书。");
}
};
class Program
{
static void Main(string[] args)
{
//C#结构体
Books book1;
book1.author = "张三丰";
//book1.show(); //error
Books book2 = new Books();
book2.show();
Console.WriteLine("本书作者是:"+book1.author);
}
}
}
/*
C#结构体的特点
* 您已经使用了简单的名为Books的结构体。在C#中的结构与传统的C和C++中的结构不同。C#中的结构有以下特点:
* 结构可带有方法、字段、索引、属性、运算符方法和事件
* 结构可定义构造函数,但不能定义析构函数。但是,您不能为结构定义默认的构造函数。默认的构造函数是自动定义的,
* 且不能被改变。
* 与类不同,结构不能继承其他的结构或类。
* 结构不能作为其他结构或类的基础结构。
* 结构可实现一个或多个接口。
* 结构成员不能指定为abstract、virtual或protected。
* 当您使用New操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用New操作符即可被实例化。
* 如果不使用New操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用。
——————————————————————————————————————————————————————————
类VS结构
类和结构有以下几个基本的不同点
* 类是引用类型,结构是值类型。
* 结构不支持继承。
* 结构不能声明默认的构造函数。
*/
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyStudyDay05
{
struct Books
{
public string title;
public string author;
public string subject;
public int book_id;
public void show()
{
Console.WriteLine("我是一本书。");
}
};
class Program
{
static void Main(string[] args)
{
//C#结构体
Books book1;
book1.author = "张三丰";
//book1.show(); //error
Books book2 = new Books();
book2.show();
Console.WriteLine("本书作者是:"+book1.author);
}
}
}
/*
C#结构体的特点
* 您已经使用了简单的名为Books的结构体。在C#中的结构与传统的C和C++中的结构不同。C#中的结构有以下特点:
* 结构可带有方法、字段、索引、属性、运算符方法和事件
* 结构可定义构造函数,但不能定义析构函数。但是,您不能为结构定义默认的构造函数。默认的构造函数是自动定义的,
* 且不能被改变。
* 与类不同,结构不能继承其他的结构或类。
* 结构不能作为其他结构或类的基础结构。
* 结构可实现一个或多个接口。
* 结构成员不能指定为abstract、virtual或protected。
* 当您使用New操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用New操作符即可被实例化。
* 如果不使用New操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用。
——————————————————————————————————————————————————————————
类VS结构
类和结构有以下几个基本的不同点
* 类是引用类型,结构是值类型。
* 结构不支持继承。
* 结构不能声明默认的构造函数。
*/