C#、VB.NET结构的使用
结构的使用
-
结构的定义
结构:几个数据组成的数据结构。结构与类相似,但收到的限制比类多。本质上,结构就是一个受限制的轻量级的类。
最主要的不同是结构的实例(Instance)声明,不允许对包含的变量进行初始化设定,同时结构的共享构造函数不能带有参数且无析构函数,无法被继承。
-
结构的作用和使用
1:结构的作用:通常用于较小的数据类型。下面定义一个汽车(Car)结构体,它包含长、宽、高、体积、颜色。
C#:
struct Car//定义Car结构体
{
//public string CarColor = null;//结构体中不能有实例字段初始值设定项(如果初始化定义项值就会报错)
public string CarColor;//汽车颜色
public double Length;//汽车长度
public double Width;//汽车宽度
public doubleHeigth;//汽车高度
public double Volume()//汽车体积(构造函数Volume())
{
return Length * Width * Heigth;
}
};
VB.NET:
Structure Car
Dim CarColor As String '汽车颜色
Dim Length As Double '汽车的长度
Dim Width As Double '汽车的宽度
Dim Heigth As Double '汽车的高度
Function Volume() '汽车的体积(构造函数Volume())
Return Length * Width * Heigth
End Function
End Structure
2:赋值并显示:
C#:
static void TestMath_1()
{
Car mycar;
mycar.CarColor = "红色";
mycar.Length = 123.4;
mycar.Width = 56.7;
mycar.Heigth = 89.0;
Console.WriteLine("我的汽车的颜色:" + mycar.CarColor);
Console.WriteLine(" 长度:" + mycar.Length );
Console.WriteLine(" 宽度:" + mycar.Width );
Console.WriteLine(" 高度:" + mycar.Heigth);
Console.WriteLine(" 体积:" + mycar.Volume() );//通过公式计算返回值
Car mycar_1 = new Car();
mycar_1 = mycar;//将mycar的值赋给mycar_1。(由于是值类型,因此赋值等于将全部值全部复制到mycar_1的栈空间)
mycar_1.CarColor = "蓝色";//然后修改mycar_1的值看是否会影响mycar
Console.WriteLine(" mycar.CarColor=" + mycar.CarColor);////输出"mycar.CarColor=红色" 没影响
/*如果Car是类,由于是引用类型,因此两个对象指向的是同一个地址(堆空间)。然后修改mycar_1的值后会发现mycar
输出"mycar.CarColor=蓝色" 有影响 */
}
VB.NET:
Sub TestMath_1()
Dim mycar As Car
mycar.CarColor = "红色"
mycar.Length = 123.4
mycar.Width = 56.7
mycar.Heigth = 89.0
Console.WriteLine("我的汽车的颜色:" & mycar.CarColor)
Console.WriteLine(" 长度:" & mycar.Length)
Console.WriteLine(" 宽度:" & mycar.Width)
Console.WriteLine(" 高度:" & mycar.Heigth)
Console.WriteLine(" 体积:" & mycar.Volume()) '通过公式计算返回值
End Sub
3:实际显示效果如下:


浙公网安备 33010602011771号