C#中的结构和类之间的区别
C#类和结构
在C#和其他编程语言中,结构和类用于定义自定义数据类型,我们可以根据需要使用不同类型的变量,方法等进行组织。
两者不一样。在这里,我们正在写结构和类之间的差异,它们具有以下基本差异...
C#类和C#结构之间的差异
类是数据类型的引用类型,结构是数据类型的值类型。
类支持默认构造函数,即我们可以设置将在创建对象时分配的默认值。结构不支持默认构造函数的概念,我们无法在创建结构对象/变量时设置诸如类之类的可以用作默认值的值。
类支持继承;结构不支持继承。
示例
在本示例中,我们将创建方法Student_1和类Student_2以及方法。要了解C#中的类和结构之间的区别,请练习给出的示例。
using System;using System.Text;
namespace Test
{
//structure
public struct student_1{
private string name;
private short age;
private float perc;
//method
public void setValue(string name, short age, float perc)
{
this.name= name;
this.age= age;
this.perc= perc;
}
public void dispValues()
{
Console.WriteLine("Name: {0}", name);
Console.WriteLine("age: {0}", age);
Console.WriteLine("perc: {0}", perc);
}
};
//class
public class student_2{
private string name;
private short age;
private float perc;
//默认构造函数
public student_2()
{
this.name= "N/A";
age = 0;
perc = 0.0f;
}
//method
public void setValue(string name, short age, float perc)
{
this.name= name;
this.age= age;
this.perc= perc;
}
public void dispValues()
{
Console.WriteLine("Name: {0}", name);
Console.WriteLine("age: {0}", age);
Console.WriteLine("perc: {0}", perc);
}
};
class Program
{
static void Main(string[] args)
{
//创建结构变量
student_1 std1 = new student_1();
//打印默认值
Console.WriteLine("std1 (default values)...");
std1.dispValues();
//设定值
std1.setValue("Amit", 21, 98.23f);
//设置值后打印
Console.WriteLine("std1 (after setting values)...");
std1.dispValues();
Console.WriteLine();
//创建类对象
student_2 std2 = new student_2();
//defaut构造函数将被调用
//打印我们在默认构造函数中设置的值
Console.WriteLine("std2 (default values)...");
std2.dispValues();
//设定值
std2.setValue("Amit", 21, 98.23f);
//设置值后打印
Console.WriteLine("std2 (after setting values)...");
std2.dispValues();
//按ENTER退出
Console.ReadLine();
}
}
}
输出结果
std1 (default values)...Name:
age: 0
perc: 0
std1 (after setting values)...
Name: Amit
age: 21
perc: 98.23
std2 (default values)...
Name: N/A
age: 0
perc: 0
std2 (after setting values)...
Name: Amit
age: 21
perc: 98.23
以上是 C#中的结构和类之间的区别 的全部内容, 来源链接: utcz.com/z/321449.html