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

C# 中const,readonly,static的使用小結(jié)

 更新時間:2021年01月25日 11:50:59   作者:一線碼農(nóng)  
這篇文章主要介紹了C# 中使用const,readonly,static的示例,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下

平時在開發(fā)時經(jīng)常會用到 const,readonly,static 關鍵字,可以肯定這些關鍵詞是完全不同的概念,但有時候他們在用法上很相似以至于在場景中不知道選擇哪一個,這篇文章我們就來討論 C# 中的 const,static 和 readonly 關鍵詞,放在一起比較一下看看如何選擇。

理解 const

const 常用來定義一個常量,什么意思呢?就是這個常量在你程序的生命周期內(nèi)都不會被改變,因此,必須在聲明常量時為其賦值,從技術角度上來說:這個常量值又被稱為 編譯時 值,用 const 定義的變量又被稱為 編譯時 常量,值得注意的是: 這個常量是不可變的,也就是一旦被定義好之后不可以對其進行修改。

下面的代碼片段展示了如何使用 const 去定義這個 編譯時 常量。

const string connectionString = "Specify your database connection string here.";

一定要記住,常量必須在定義的時候給它賦值,同時也要記住不可以用 const 定義 object 類型,因為它只支持 C# 的基元類型,比如:ints, floats, chars, booleans 和 strings,接下來通過一個例子來了解以下為啥不能用 object,考慮下面的 Author 類。

 public class Author
 {
  public int Id { get; set; }
  public string FirstName { get; set; }
  public string LastName { get; set; }
  public string Address { get; set; }
 }

如果用 const 將 Author 定義為常量的話,編譯器肯定是不同意的,如下圖:

理解 readonly

只讀關鍵詞 readonly 常用于將一個變量或者一個對象設置為只讀,意味著這個變量或者對象只能在 類作用域 或者 構(gòu)造函數(shù) 中被第一次賦值,一旦被賦值后,你就不能通過任何方法對其修改,除了構(gòu)造函數(shù),接下來看一個例子,考慮下面的 DbManager 類。

 public class DbManager
 {
  public readonly string connectionString ="Specify your database connection string here.";
  
  public DbManager()
  {
   connectionString = "You can reassign a value here.";
  }
  
  public void ReAssign()
  {
   connectionString = "This is not allowed";
  }
 }

上面的代碼會編譯報錯,錯誤信息如下:

理解 static

static 關鍵詞可用于 變量,方法,對象。不過值得注意的是: 類中的 static 成員只歸屬于類,而不是類實例,換句話說,可以直接使用類名來訪問靜態(tài)屬性或者靜態(tài)方法,而不是通過類實例訪問,接下來考慮一下 Utility 類。

 public class Utility
 {
  public static void SomeMethod()
  {
   //Write your code here
  }
 }

你不可以通過 類實例 去調(diào)用,否則編譯器是不會放行的,如下圖:

正確的做法如下:

Utility.SomeMethod();

同樣的規(guī)則也適用于 類中的屬性和字段,要想引用類中的靜態(tài)成員,參考如下語法:

ClassName.Member;

或者

ClassName.Member();

構(gòu)造函數(shù)也可以是靜態(tài)的,它通常用于初始化類中的靜態(tài)成員,但要注意靜態(tài)構(gòu)造函數(shù)中不接受任何參數(shù)。

總結(jié)

使用 const,readonly,static 的一些經(jīng)驗法則如下:

const

如果變量在應用程序的生命周期內(nèi)不會被改變,請用 const。

readonly

如果你不確定這個變量后期是否要被修改,但又不希望其他的類碰它,請用 readonly。

static

如果你希望類成員是屬于類型而不是類型的實例,請用 static。

譯文鏈接:https://www.infoworld.com/art...

以上就是C# 中使用const,readonly,static的示例的詳細內(nèi)容,更多關于C# 中使用const,readonly,static的資料請關注腳本之家其它相關文章!

相關文章

  • 如何在C#中使用指針

    如何在C#中使用指針

    這篇文章主要介紹了如何在C#中使用指針,文中代碼簡單易懂,幫助大家更好的工作和學習,感興趣的朋友快來了解下
    2020-06-06
  • 提高C# StringBuilder操作性能優(yōu)化的方法

    提高C# StringBuilder操作性能優(yōu)化的方法

    本篇文章主要介紹使用C# StringBuilder 的項目實踐,用于減少內(nèi)存分配,提高字符串操作的性能。對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-11-11
  • C#獲取兩個數(shù)的最大公約數(shù)和最小公倍數(shù)示例

    C#獲取兩個數(shù)的最大公約數(shù)和最小公倍數(shù)示例

    本文介紹了使用C#獲取兩個數(shù)的最大公約數(shù)和最小公倍數(shù)的示例,大家參考使用吧
    2014-01-01
  • C#實現(xiàn)多線程的Web代理服務器實例

    C#實現(xiàn)多線程的Web代理服務器實例

    這篇文章主要介紹了C#實現(xiàn)多線程的Web代理服務器,涉及C#多線程代理服務器的實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • c#實現(xiàn)最簡潔的快速排序(你絕對可以看懂)

    c#實現(xiàn)最簡潔的快速排序(你絕對可以看懂)

    這篇文章主要給大家介紹了關于利用c#實現(xiàn)如何最簡潔的快速排序,實現(xiàn)的方法你絕對可以看懂,文中通過示例代碼介紹的非常詳細,對大家學習或者使用c#具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • C#編程自學之數(shù)據(jù)類型和變量二

    C#編程自學之數(shù)據(jù)類型和變量二

    這篇文章繼續(xù)介紹了C#數(shù)據(jù)類型和變量,是對上一篇文章的補充,希望對大家的學習有所幫助。
    2015-10-10
  • 關于javascript冒泡與默認事件的使用詳解

    關于javascript冒泡與默認事件的使用詳解

    本篇文章是對javascript中冒泡與默認事件的使用進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • C#計算矩陣的逆矩陣方法實例分析

    C#計算矩陣的逆矩陣方法實例分析

    這篇文章主要介紹了C#計算矩陣的逆矩陣方法,較為詳細的分析了逆矩陣的計算原理與相關的C#實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-08-08
  • C#事務處理(Execute Transaction)實例解析

    C#事務處理(Execute Transaction)實例解析

    這篇文章主要介紹了C#事務處理(Execute Transaction)實例解析,對于理解和學習事務處理有一定的幫助,需要的朋友可以參考下
    2014-08-08
  • C#多態(tài)詳解

    C#多態(tài)詳解

    這篇文章主要介紹了C#中的多態(tài),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-10-10

最新評論