最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

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

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
因為默認的結(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)用不屬于實例,聲明時直接定義.

程序:

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ù)以初始化成員,但不可以重寫默認無參構(gòu)造函數(shù)和默認無參析構(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運算符創(chuàng)建(obj)也可以直接創(chuàng)建單個元素賦值(obj2)這是與類不同的因為類只能使用new創(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è)計有所幫助。

相關(guān)文章

最新評論

南丹县| 体育| 临江市| 北辰区| 长乐市| 孟连| 德阳市| 常宁市| 车险| 资溪县| 甘南县| 裕民县| 陆丰市| 普格县| 井研县| 开江县| 容城县| 鄂伦春自治旗| 墨竹工卡县| 门头沟区| 冷水江市| 保靖县| 蒙自县| 土默特左旗| 宁晋县| 百色市| 定兴县| 孟州市| 五莲县| 红河县| 汉源县| 屏东县| 石屏县| 双峰县| 樟树市| 陆良县| 津南区| 刚察县| 三明市| 建阳市| 五指山市|