欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)文章

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

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

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

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

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

    C#路徑,文件,目錄及IO常見操作匯總

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

    C#線程間通信的異步機制

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

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

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

    C#中SequenceEqual的具體使用

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

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

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

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

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

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

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

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

    下面小編就為大家?guī)硪黄狢# 實現(xiàn)ADSL自動斷網(wǎng)和撥號的方法(適用于撥號用戶)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12

最新評論