Microsoft C# | 基礎知識彙整 3

更新於 發佈於 閱讀時間約 4 分鐘
電腦很擅長遵循特定指示來建立可靠且可重複的結果。

前言

  這一篇文章將會從Microsoft的.NET Class Library開始介紹,在介紹具狀態和不具狀態,以及物件和new關鍵字。

.NET Class Library

  包含數以萬計方法之數以千計類別的集合,由 Microsoft 所建立,可供應用程式使用,這些類別和方法可以建置特定類型的應用程式,無論Web、電腦、行動裝置或雲端應用程式都可以使用這些類別與其方法。

呼叫方法的流程

  1. 一開始,請輸入類別名稱 Console
  2. 新增成員存取運算子,也就是 . 符號
  3. 新增方法的名稱 WriteLine
  4. 新增方法叫用運算子,也就是一組括弧 ()
  5. 最後,將想要以 Console.WriteLine() 方法列印為輸入參數的值新增至左括弧與右括弧之間 (例如,"Hello World!"

(選擇性) 根據開發人員設計及實作指定方法的方式,您可能也需要:

  1. 將其他值傳遞為輸入參數
  2. 接受傳回值

具狀態與無狀態方法

  狀態會描述執行環境在特定時間點,隨著程式碼逐步執行各行,值會被儲存在變數中,在執行期間的任何時間點,應用程式目前的狀態便是儲存在記憶體中所有值的集合。

無狀態方法(靜態方法)

  某些方法不需仰賴應用程式目前的狀況便能正常運作,換句話說,無狀態方法的實作原因,便是因為它們可以在無需參考或變更儲存在記憶體中之任何值的情況下運作,所以無狀態方法也稱為靜態方法

具狀態方法(執行個體方法)

  必須存取應用程式的狀態才能正常運作,稱為具狀態方法,因其建置方式導致要仰賴由已執行的上一行程式碼儲存在記憶體中的值,並透過更新或修改應用程式中的值來改變應用程式的狀態,所以它們也稱為執行個體方法。

欄位(Field)

  具狀態會在「欄位」中追蹤其狀態,欄位可能是定義上的變數;類別的每個新執行個體都會自行擁有那些欄位的複本,以及其中儲存狀態。

類別的執行個體(Object)

  執行個體稱為物件,若要建立類別的新執行個體,會使用「new」運算子建立新的執行個體。

Random dice = new Random();

new運算子

  • 它會先要求電腦記憶體中的位址,該位址必須大到可以儲存以 Random 類別為基礎的新物件。
  • 它會建立新物件,並將它儲存在該記憶體位址。
  • 它會傳回記憶體位址,以將它儲存在 dice 變數中。

如何判斷是否需要建立該類別的執行個體?

  必須要閱讀程式碼範例,可以從中看出有沒有需要從類別建立新的執行個體,當然,可以直接用用看,如果出錯就是要。

傳回值

  Void方法被稱呼為「安靜地」結束,其他方法在完成時傳回一個值,通常為某個作業的結果,傳回值是方法回頭向呼叫它的程式碼進行通訊的主要方式。

  方法可以設計成傳回任何資料類型、另一類別,以下為官方示範:

dice.Next(1, 7);

  上述雖然會運作,並且產生了一個全新的隨機數字(int),不過沒有儲存,所以毫無意義。

輸入參數

  輸入參數可能會設定方法執行其工作的方式,或者可能會直接在輸入參數上作業。

多載方法

  多個方法簽章定義,多載的方法能提供不同的方式來呼叫方法,或是提供不同類型的資料,我們之所以能用不同的資料類型當作參數,是因為官方有設定多載方法。

後記

  我們很常在程式中創建欄位並使用,也很常使用上方法和new運算子,不過在這之前我不知道方法有分靜態跟具狀態方法,從根本上了解方法的運作原理。



raw-image



留言
avatar-img
留言分享你的想法!
avatar-img
瓶裝雪的沙龍
108會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
瓶裝雪的沙龍的其他內容
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/06/22
  遊戲將以不破壞遊戲體驗的情況下分析,避免劇透。因本文為求職遊戲企劃時所寫分析,故以遊戲企劃之角度撰寫文章,程式及美術僅簡易分析及解構。備註:後記有雷,如果有需要請避開。
Thumbnail
2024/06/22
  遊戲將以不破壞遊戲體驗的情況下分析,避免劇透。因本文為求職遊戲企劃時所寫分析,故以遊戲企劃之角度撰寫文章,程式及美術僅簡易分析及解構。備註:後記有雷,如果有需要請避開。
Thumbnail
2024/05/28
這篇文章將會講述新一代(young designer's exhibition 2024)的參賽與參展心得與體悟:從新一代概述到會場四天的分享,最後談談我的體悟與經驗。
Thumbnail
2024/05/28
這篇文章將會講述新一代(young designer's exhibition 2024)的參賽與參展心得與體悟:從新一代概述到會場四天的分享,最後談談我的體悟與經驗。
Thumbnail
看更多
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
C# 9.0 給 Unity 程式設計上帶來的便利
Thumbnail
C# 9.0 給 Unity 程式設計上帶來的便利
Thumbnail
  當我們要使用執行緒的時候,就要引用System.Threading的類別庫,程式才可以使用唷!這篇內容先說明:建立與啟用執行緒、跨執行緒控制UI介面、等待或暫停時間執行緒、共享資源的部分。
Thumbnail
  當我們要使用執行緒的時候,就要引用System.Threading的類別庫,程式才可以使用唷!這篇內容先說明:建立與啟用執行緒、跨執行緒控制UI介面、等待或暫停時間執行緒、共享資源的部分。
Thumbnail
一、存取修飾詞public / private / protected / internal 二、參數修飾詞ref / in / out >>>>>由於我們在寫程式時,會去宣告一些變數、常數相關識別詞,並且在class(類別)中會寫一些事情或動作讓程式去運行,然而這個概念就是去定義對於我們所寫的內容
Thumbnail
一、存取修飾詞public / private / protected / internal 二、參數修飾詞ref / in / out >>>>>由於我們在寫程式時,會去宣告一些變數、常數相關識別詞,並且在class(類別)中會寫一些事情或動作讓程式去運行,然而這個概念就是去定義對於我們所寫的內容
Thumbnail
這次分享資料形態中的資料型別部分,在VC#流程架構介紹中有提到它如同中文有不同的詞性,那C#程式中有哪些型別呢?我們就來看一看。 一、常用的資料型別 當然還有自訂義的型別這就要看怎麼定義了,之後看內容狀況再來提,那麼資料型態是為了要做宣告用途,告訴電腦你的資料是屬於什麼類別的,這樣在做後續資料時程式
Thumbnail
這次分享資料形態中的資料型別部分,在VC#流程架構介紹中有提到它如同中文有不同的詞性,那C#程式中有哪些型別呢?我們就來看一看。 一、常用的資料型別 當然還有自訂義的型別這就要看怎麼定義了,之後看內容狀況再來提,那麼資料型態是為了要做宣告用途,告訴電腦你的資料是屬於什麼類別的,這樣在做後續資料時程式
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
這篇文章將會講述使用 C# 的類( Class ) 來讓欄位模組(module)化。
Thumbnail
介紹 委派 透過委派可以實現把方法作為參數傳遞 從範例可以看出我們將DoNothing當成參數在傳遞 📷 事件 事件:是帶event關鍵字的委派的實體,可以限制變數被外部直接使用/直接賦予值(安全保障) 特點: 不能直接Invoke() 不能 賦予 null => = null 委派是一個類型
Thumbnail
介紹 委派 透過委派可以實現把方法作為參數傳遞 從範例可以看出我們將DoNothing當成參數在傳遞 📷 事件 事件:是帶event關鍵字的委派的實體,可以限制變數被外部直接使用/直接賦予值(安全保障) 特點: 不能直接Invoke() 不能 賦予 null => = null 委派是一個類型
Thumbnail
這一篇文章將會從Microsoft的.NET Class Library開始介紹,在介紹具狀態和不具狀態,以及物件和new關鍵字。
Thumbnail
這一篇文章將會從Microsoft的.NET Class Library開始介紹,在介紹具狀態和不具狀態,以及物件和new關鍵字。
Thumbnail
本篇文章將會介紹C#的基礎構成和字串的使用,若想要更詳細的教學,可以參考前一篇文章,前往Microsoft官方教學學習。
Thumbnail
本篇文章將會介紹C#的基礎構成和字串的使用,若想要更詳細的教學,可以參考前一篇文章,前往Microsoft官方教學學習。
Thumbnail
本文以實際的程式碼來說明Value Type和Reference Type的差異,並介紹實用的除錯工具。
Thumbnail
本文以實際的程式碼來說明Value Type和Reference Type的差異,並介紹實用的除錯工具。
Thumbnail
撰寫程式時,有沒有想過宣告的這些變數是怎麼運作的呢? 本文介紹了Value Type跟Reference Type,以及Variable的基本命名方式。
Thumbnail
撰寫程式時,有沒有想過宣告的這些變數是怎麼運作的呢? 本文介紹了Value Type跟Reference Type,以及Variable的基本命名方式。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News