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

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

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

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

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

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

class a{};
struct a{};

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

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

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

如果結(jié)構(gòu)體student的元素沒(méi)有public的聲明,對(duì)象obj就無(wú)法調(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)成員與類中一樣,使用時(shí)必須用類名,或結(jié)構(gòu)名來(lái)調(diào)用不屬于實(shí)例,聲明時(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)無(wú)參構(gòu)造函數(shù)和默認(rèn)無(wú)參析構(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)體的對(duì)象使用new運(yùn)算符創(chuàng)建(obj)也可以直接創(chuàng)建單個(gè)元素賦值(obj2)這是與類不同的因?yàn)轭愔荒苁褂胣ew創(chuàng)建對(duì)象

程序:

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;
 }
}

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

程序:

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

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

相關(guān)文章

  • C#實(shí)現(xiàn)ProperTyGrid自定義屬性的方法

    C#實(shí)現(xiàn)ProperTyGrid自定義屬性的方法

    這篇文章主要介紹了C#實(shí)現(xiàn)ProperTyGrid自定義屬性的方法,主要通過(guò)接口ICustomTypeDescriptor實(shí)現(xiàn),需要的朋友可以參考下
    2014-09-09
  • 詳解如何在C#/.NET Core中使用責(zé)任鏈模式

    詳解如何在C#/.NET Core中使用責(zé)任鏈模式

    這篇文章主要介紹了詳解如何在C#/.NET Core中使用責(zé)任鏈模式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • C#路徑,文件,目錄及IO常見(jiàn)操作匯總

    C#路徑,文件,目錄及IO常見(jiàn)操作匯總

    這篇文章主要介紹了C#路徑,文件,目錄及IO常見(jiàn)操作,較為詳細(xì)的分析并匯總了C#關(guān)于路徑,文件,目錄及IO常見(jiàn)操作,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • C#線程間通信的異步機(jī)制

    C#線程間通信的異步機(jī)制

    這篇文章介紹了C#線程間通信的異步機(jī)制,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • C#隱式/顯示實(shí)現(xiàn)接口方法詳解

    C#隱式/顯示實(shí)現(xiàn)接口方法詳解

    這篇文章主要為大家詳細(xì)介紹了C#隱式/顯示實(shí)現(xiàn)接口方法,接口的使用場(chǎng)景介紹,感興趣的小伙伴們可以參考一下
    2016-03-03
  • C#中SequenceEqual的具體使用

    C#中SequenceEqual的具體使用

    SequenceEqual是LINQ擴(kuò)展方法之一,用于比較兩個(gè)序列(如數(shù)組、列表等)的元素是否相等,本文就來(lái)介紹一下SequenceEqual的具體使用,感興趣的可以了解一下
    2024-01-01
  • 深入多線程之:深入生產(chǎn)者、消費(fèi)者隊(duì)列分析

    深入多線程之:深入生產(chǎn)者、消費(fèi)者隊(duì)列分析

    本篇文章是對(duì)生產(chǎn)者與消費(fèi)者隊(duì)列進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • C# 設(shè)計(jì)模式系列教程-命令模式

    C# 設(shè)計(jì)模式系列教程-命令模式

    在軟件系統(tǒng)中,行為請(qǐng)求者與行為實(shí)現(xiàn)者通常是一種緊耦合的關(guān)系,但某些場(chǎng)合,比如需要對(duì)行為進(jìn)行記錄、撤銷或重做、事務(wù)等處理時(shí),這種無(wú)法抵御變化的緊耦合的設(shè)計(jì)就不太合適。
    2016-06-06
  • 基于C#實(shí)現(xiàn)的多生產(chǎn)者多消費(fèi)者同步問(wèn)題實(shí)例

    基于C#實(shí)現(xiàn)的多生產(chǎn)者多消費(fèi)者同步問(wèn)題實(shí)例

    這篇文章主要介紹了基于C#實(shí)現(xiàn)的多生產(chǎn)者多消費(fèi)者同步問(wèn)題,包括了加鎖與釋放鎖,以及對(duì)應(yīng)臨界資源的訪問(wèn)。是比較實(shí)用的技巧,需要的朋友可以參考下
    2014-09-09
  • C# 實(shí)現(xiàn)ADSL自動(dòng)斷網(wǎng)和撥號(hào)的方法(適用于撥號(hào)用戶)

    C# 實(shí)現(xiàn)ADSL自動(dòng)斷網(wǎng)和撥號(hào)的方法(適用于撥號(hào)用戶)

    下面小編就為大家?guī)?lái)一篇C# 實(shí)現(xiàn)ADSL自動(dòng)斷網(wǎng)和撥號(hào)的方法(適用于撥號(hào)用戶)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12

最新評(píng)論