亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#結(jié)構(gòu)體特性實(shí)例分析

 更新時間:2015年09月28日 17:22:22   作者:清清飛揚(yáng)  
這篇文章主要介紹了C#結(jié)構(gòu)體特性,以實(shí)例形式較為詳細(xì)的分析了C#結(jié)構(gòu)體的功能、定義及相關(guān)特性,具有一定參考借鑒價值,需要的朋友可以參考下

本文實(shí)例講述了C#結(jié)構(gòu)體特性。分享給大家供大家參考。具體如下:

結(jié)構(gòu)體的定義:

結(jié)構(gòu)體也可以象類一樣可以單獨(dú)定義.

class a{};
struct a{};

結(jié)構(gòu)體也可以在名字前面加入控制訪問符.

public struct student{};
internal struct student{};

如果結(jié)構(gòu)體student沒有publice或者internal的聲明 類program就無法使用student結(jié)構(gòu)定義 obj對象

如果結(jié)構(gòu)體student的元素沒有public的聲明,對象obj就無法調(diào)用元素x
因?yàn)槟J(rèn)的結(jié)構(gòu)體名和元素名是*******類型

程序:

using System;
public struct student
{
  public int x;
};
class program
{
 public static void Main()
 {
  student obj=new student();
  obj.x=100;  
 }
};

在結(jié)構(gòu)體中也可以定義靜態(tài)成員與類中一樣,使用時必須用類名,或結(jié)構(gòu)名來調(diào)用不屬于實(shí)例,聲明時直接定義.

程序:

using System;
public struct student
{
  public static int a = 10;
};
class exe
{
 public static void Main()
 {
  Console.WriteLine( student.a = 100);
 }
};

或:

using System;
class base
{
 public struct student
 {
  public static int a = 10;
 };
}
class exe
{
 public static void Main()
 {
  Console.WriteLine( base.student.a = 100);
 }
};

在結(jié)構(gòu)體中可以定義構(gòu)造函數(shù)以初始化成員,但不可以重寫默認(rèn)無參構(gòu)造函數(shù)和默認(rèn)無參析構(gòu)函數(shù)

程序:

public struct student
{
  public int x;
  public int y;
  public static int z;
  public student(int a,int b,int c)
  {
   x=a;
   y=b;
   student.z=c;
  }
};

在結(jié)構(gòu)體中可以定義成員函數(shù)。

程序:

public struct student
{
  public void list()
  {
   Console.WriteLine("這是構(gòu)造的函數(shù)");
  }
};

結(jié)構(gòu)體的對象使用new運(yùn)算符創(chuàng)建(obj)也可以直接創(chuàng)建單個元素賦值(obj2)這是與類不同的因?yàn)轭愔荒苁褂胣ew創(chuàng)建對象

程序:

public struct student
{
  public int x;
  public int y;
  public static int z;
  public student(int a,int b,int c)
  {
   x=a;
   y=b;
   student.z=c;
  }
};
class program
{
 public static void Main()
 {
 student obj=new student(100,200,300);
 student obj2;
 obj2.x=100;
 obj2.y=200;
 student.z=300;
 }
}

在使用類對象和函數(shù)使用時,使用的是引用傳遞,所以字段改變
在使用結(jié)構(gòu)對象和函數(shù)使用時,是用的是值傳遞,所以字段沒有改變

程序:

using System;
class class_wsy
{
 public int x;
}
struct struct_wsy
{
 public int x;
}
class program
{
 public static void class_t(class_wsy obj)
 {
  obj.x = 90;
 }
 public static void struct_t(struct_wsy obj)
 {
  obj.x = 90;
 }
 public static void Main()
 {
  class_wsy obj_1 = new class_wsy();
  struct_wsy obj_2 = new struct_wsy();
  obj_1.x = 100;
  obj_2.x = 100;
  class_t(obj_1);
  struct_t(obj_2);
  Console.WriteLine("class_wsy obj_1.x={0}",obj_1.x);
  Console.WriteLine("struct_wsy obj_2.x={0}",obj_2.x);
  Console.Read();
 }
}

結(jié)果為:

class_wsy obj_1.x=90
struct_wsy obj_2.x=100

希望本文所述對大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論