C#中的类和结构之间有什么区别()

一种类是从中创建对象的用户定义的蓝图或原型。基本上, 一个类将字段和方法(定义动作的成员函数)组合到一个单元中。
例子:

//C# program to illustrate the //concept of class using System; //Class Declaration public class Author {//Data members of class public string name; public string language; public int article_no; public int improv_no; //Method of class public void Details( string name, string language, int article_no, int improv_no) { this .name = name; this .language = language; this .article_no = article_no; this .improv_no = improv_no; Console.WriteLine( "The name of the author is :" + name + "\nThe name of language is : " + language + "\nTotal number of article published" + article_no + "\nTotal number of Improvements:" + " done by author is : " + improv_no); }//Main Method public static void Main(String[] args) {//Creating object Author obj = new Author(); //Calling method of class //using class object obj.Details( "Ankita" , "C#" , 80, 50); } }

输出如下:
The name of the author is :AnkitaThe name of language is : C#Total number of article published80Total number of Improvements: done by author is : 50

一种结构体是单个单元下不同数据类型的变量的集合。它几乎类似于一个类, 因为它们都是用户定义的数据类型, 并且都包含许多不同的数据类型。
例子:
//C# program to illustrate the //concept of structure using System; //Defining structure public struct Car {//Declaring different data types public string Brand; public string Model; public string Color; }class GFG {//Main Method static void Main( string [] args) {//Declare c1 of type Car //no need to create an //instance using 'new' keyword Car c1; //c1's data c1.Brand = "Bugatti" ; c1.Model = "Bugatti Veyron EB 16.4" ; c1.Color = "Gray" ; //Displaying the values Console.WriteLine( "Name of brand: " + c1.Brand + "\nModel name: " + c1.Model + "\nColor of car: " + c1.Color); } }

【C#中的类和结构之间有什么区别()】输出如下:
Name of brand: BugattiModel name: Bugatti Veyron EB 16.4Color of car: Gray

类与结构之间的区别
结构体
类是引用类型。 结构是值类型。
所有引用类型都分配在堆内存上。 所有的值类型都分配在堆栈存储器中。
大引用类型的分配比大值类型的分配便宜。 与参考类型相比, 价值类型的分配和取消分配的成本更低。
类具有无限的功能。 结构具有有限的功能。
类通常在大型程序中使用。 在小型程序中使用结构。
类可以包含构造函数或析构函数。 结构不包含减去参数的构造函数或析构函数, 但可以包含参数化构造函数或静态构造函数。
类使用new关键字创建实例。 Struct可以创建一个带有或不带有new关键字的实例。
一个类可以从另一个类继承。 不允许Struct从另一个结构或类继承。
类的数据成员可以受到保护。 struct的数据成员无法受到保护。
该类的函数成员可以是虚拟的或抽象的。 结构的函数成员不能是虚拟的或抽象的。
类的两个变量可以包含同一对象的引用, 并且对一个变量的任何操作都可以影响另一个变量。 struct中的每个变量都包含其自己的数据副本(除了ref和out参数变量外), 并且对一个变量的任何操作都不会影响另一个变量。

    推荐阅读