C#中的值型別以及Static關鍵字
說到static關鍵字之前我們不得不說說C#中的值的型別(當然,在C++中就不存在這一說法,在C++要麼就會通過指標或者引用符號作為傳參來完成),在C#中值的型別分為值型別和引用型別兩種。
一、引用型別
首先說引用型別,引用型別就是不另外建立記憶體在儲存,而是將變數指向一個確定的堆(系統分配的記憶體),需要人為的申請(一般都是用new來完成)和人為的清除。而值型別則是由系統自動管理(包括回收)
引用型別常見的就是我們使用最多的類。當然也包括陣列,介面,委託;
二、值型別
除上述所述的型別外一般都屬於值型別了,值型別的特點是便於對常用型別進行管理,所以,C#常用的資料類(int float 等都屬於值型別,包括列舉,結構體)。這裡要重點注意,雖然結構體和類有很多相似之處但結構體屬於值型別。
三、靜態變數
使用 static 修飾符宣告屬於型別本身而不是屬於特定物件的靜態成員static修飾符可用於類、欄位、方法、屬性、運算子、事件和建構函式,但不能用於索引器、解構函式或類以外的型別
也就是說,如果一個類的靜態變數或者方法,都是可以不例項化這個類就可以直接訪問的。
四、例項變數
很明顯,這種變數一定是要在類例項化後才能夠使用。也就是說,它是沒有static關鍵字修飾的。
相關推薦
C#中的值型別以及Static關鍵字
說到static關鍵字之前我們不得不說說C#中的值的型別(當然,在C++中就不存在這一說法,在C++要麼就會通過指標或者引用符號作為傳參來完成),在C#中值的型別分為值型別和引用型別兩種。 一、引用型別 首先說引用型別,引用型別就是不另外建立記憶體在儲存,而是將變數指向一個確定的堆(
C#中值型別與引用型別的區別
值型別是直接儲存一個數值,而引用型別是儲存對值的引用,這兩種型別分別儲存在不用的記憶體區域。而從記憶體上看,值型別是在棧中的操作,而引用型別是在堆中的操作。值型別是具體的那個數值所佔用的空間大小,而引用
C#中值型別和引用型別引數傳遞
原則:儘可能控制對資料的修改,如果可以預測某個資料不會或不應該被改變,就要對其控制,而不要期望使用這個資料的呼叫者不會改變其值。 如果引數在使用過程中被意外修改,將會帶來不可預知的結果,而且這種錯誤很難被檢查到,所以我們在設計方法引數的時候,要充分考慮傳遞引用型別引數或者引用方式傳遞引用型別
C# 中資料型別以及結構
值型別:int、double、char、bool...,屬於結構。 引用型別:類(string)、介面、陣列 Class1.cs using System; using System.Collections.Generic; using System.Linq; using System.Text
c++中的型別轉換以及explicit關鍵字
寫在前面 在沒有深入接觸c++之前,只是簡單的知道變數存在自動轉換和強制轉換,比如,int a = 3.3; 同樣也可以對類物件進行自動型別轉換以及強制型別轉換 型別轉換 使用《c++ primer plus》中的例子: /* Stonewt.h檔案 */ #ifndef STO
C++中string型別求長度用法以及c_str用法總結
1.C++中求string型別的長度有三種方式。在c++中,string代表一個類,有它自己的建構函式和成員函式。有兩個成員函式都可以求string型別的長度。① length()成員函式。② size()成員函式。③ 可以藉助strlen函式,但是前提是需要將stri
C++中cin,cout,以及返回值
今天在看c++primer的時候,讀到其中這樣一段話: When we use an istream as a condition, the effect is to test the state of the stream. If the stream is val
C++中成員變數加上static或const關鍵字後的分析
C++中類成員變數加上static或const關鍵字後的初始化問題。在一個簡單的C++類中定義如下這些變數: #include <iostream> using namespace std; class TestVariable{ public: Te
C++中的型別轉換關鍵字
本文參考自狄泰軟體學院:《C++深度剖析》 C方式的強制型別轉換 示例程式碼: typedef void(PF)(int); //定義一個函式型別PF struct Point { int x; int y; };
C/C++中儲存型別修飾符的區別(auto、static、register、extern、volatile、restrict)
一、區域性變數和全域性變數: (1)區域性變數:區域性變數也叫自動變數,它宣告在函式開始,生存於棧,它的生命隨著函式的返回而結束。 #include <stdio.h> int main(void) { auto int i = 9; //宣告區域性
嵌入式經典面試題---C中有關預處理,關鍵字const、volatile、static,位操作,等等
紅色是我標註的重點,綠色是自己新增的內容 C語言測試是招聘嵌入式系統程式設計師過程中必須而且有效的方法。這些年,我既參加也組織了許多這種測試,在這過程中我意識到這些測試能為帶面試者和被面試者提供許多有用資訊,此外,撇開面試的壓力不談,這種測試也是相當有趣的。 從被
C中-void型別函式同樣可以讓函式有返回值
想知道 void型別函式怎樣 才 能 讓函式有多個返回值嗎 ? 首先 你要會 C語言 , 然後 你要學過 指標 ,請看下面程式碼 指標的應用場景: 1)在被函式中可以修改主調函式中的變數的值
C++中的型別轉換,以及與C的區別
程式設計的時候,型別轉換在某些緊要的關頭是必需品。 C風格的型別轉換,相對C++風格的型別轉換來說,比較粗魯,C風格的型別轉換,能允許任何型別之間進行轉換,在編寫C++程式時是也可以使用的,要進行精確的型別轉換時,這是一個優點。但是,正是這樣的優點,使C風格的型別轉換,在編
C++中值傳遞、指針傳遞、引用傳遞的總結
地址 變形 不同的 值傳遞 class col 並不會 單向 角度 C++中值傳遞、指針傳遞、引用傳遞的總結 指針傳遞和引用傳遞一般適用於:函數內部修改參數並且希望改動影響調用者。對比值傳遞,指針/引用傳遞可以將改變由形參“傳給”實參(實際上就是直接在實參的內存上修改,
c++右值引用以及使用
什麽 函數的參數 .html 顯式 pan 但是 cout 表達式 信息 前幾天看了一篇文章《4行代碼看看右值引用》 覺得寫得不錯,但是覺得右值引用的內容還有很多可以去挖掘學習,所以總結了一下,希望能對右值引用有一個更加深層次的認識 一、幾個基本概念 1.1左值和右值 左值
C/C++中的const ,static
不可 nbsp mutable 類外定義 int table 更改 stat 初始化 一、const 在C++中: 1、常對象:創建對象時添加const關鍵字,這個對象就不可以再修改,就有了常屬性,就意味著整個對象所有變量不能更改 2、常對象不能調用普通函數,調
c++ 右值引用,move關鍵字
賦值函數 .cpp 一次 -s 編譯器 一份 簡單 som this c++ move關鍵字 move的由來:在 c++11 以前存在一個有趣的現象:T& 指向 lvalue (左傳引用), const T& 既可以指向 lvalue 也可以指向 rval
【轉載】c++右值引用以及使用
轉自:https://www.cnblogs.com/likaiming/p/9045642.html 前幾天看了一篇文章《4行程式碼看看右值引用》 覺得寫得不錯,但是覺得右值引用的內容還有很多可以去挖掘學習,所以總結了一下,希望能對右值引用有一個更加深層次的認識 一、幾個基本概念 1.
C++中int型別與String型別的相互轉換
最近經常用到兩種型別的相互轉換,從網上找了一些,彙總一下,以備不時之需 int型別轉換為String型別 方法一:利用sprintf #include <iostream> #include <string> int main() { int n =
面向物件中的final和static關鍵字特點總結
1 final的特點 1.1 final修飾類不可以被繼承,但是可以繼承其他類。 class Yy {} final class Fu extends Yy{} //可以繼承Yy類 class Zi extends Fu{} /