1樓:魔淚無痕
const 是定義常量的關鍵字,定義常量和定義變數唯一的不同就是多加一個const。
如,int i=1;//定義並賦值一個變數const int i=5;//定義一個常量並賦值。
定義常量時必須同時對常量賦值,但定義變數時可不用賦值。
2樓:匿名使用者
介面,不可以定義欄位!
3樓:匿名使用者
主要是const標識 例:const int max_value = 10;
4樓:
private readonly const string str="123"; 宣告一個值為123的常量
如何:在 c#中定義常量
5樓:匿名使用者
常量使用 const 修飾符進行宣告。
只有 c# 內建型別(system.object 除外)可以宣告為 const。
比如下面這樣
class calendar1
具體參考msdn文件
6樓:匿名使用者
const int aa=10;
7樓:匿名使用者
使用const關鍵字:如public const int max_value = 10;
c# 中如何宣告一個靜態常量?
8樓:
常量隱含著就是靜態的,所以,不用特別說明 static.
**改為這樣:
class program
{public const string success = "1";
.........
9樓:匿名使用者
c#擁有兩種不同的常量:靜態常量(***pile-time constants)和動態常量(runtime constants)。它們有不同的特性,錯誤的使用不僅會損失效率,還可能造成錯誤。
相比之下,靜態常量在速度上會稍稍快一些,但是靈活性卻比動態常量差很多。
//靜態常量(隱式是靜態的)
public const int ***piletimeconstant = 1;
//動態常量
public static readonly runtimeconstant = 1;
靜態常量在編譯時會將其替換為所對應的值,也就是說下面這2句話通過編譯器編譯後產生的il是一樣的。
//通過編譯後二者會被翻譯成相同的中間語言
int mynum = ***piletimeconstant;
int mynum = 1;
動態常量的值是在執行時獲得的。il中將其標為只讀常量,而不是用常量的值代替。
靜態常量只能被宣告為簡單的資料型別(內建的int和浮點型)、列舉或字串。下面的程式段是通不過編譯的。你不能用new關鍵字初始化一個靜態常量,即便是對一個值型別來說。
//這樣是錯誤的
public const datetime mydatetime = new datetime(2006,9,1,0,0,0);
//這樣是可以的
public static readonly datetime mydatetime = new datetime(2006,9,1,0,0,0);
只讀資料也是常量的一種,它們不能在構造器初始化之後被修改。但是它同靜態常量不同,它的值是在執行時才被指派的,因此就會獲得更大的靈活性。動態常量可以是任意的資料型別。
二者最大的差別在於:靜態常量在編譯時會將其換為對應的值,這就意味著對於不同的程式集來說,當你改變靜態常量的時候需要將其重新編譯,否則常量的值不會發生變化,可能引發潛在的問題,而動態常量就不會有這種情況。
用const定義的常量(隱式是靜態的),需要像訪問靜態成員那樣去訪問const定義的常量,而用物件的成員方式去訪問會出編譯錯誤。 宣告的同時要設定常量值。
從另一方面來說,如果你的確要宣告一些從不改變且處處唯一的常量,例如鉤子函式setwindowshookex的idhook引數或序列化時的版本等,就應該使用靜態常量。但是用到這樣的常量的機會不多。一般來說我們應該使用靈活性更高的動態常量。
靜態常量 動態常量
記憶體消耗 無 因為要儲存常量 有消耗
初始化 很少的簡單型別, 任意型別,可以在類建構函式中賦值
不能new,必須在
宣告同時賦值
何時發揮作用 編譯時進行替換 相當於類中的資料成員
10樓:『戀愛領域
你申明的這個靜態變數在哪申明的?必須在類裡!
11樓:匿名使用者
const就是靜態常量
c# 裡怎樣定義一個常量陣列?
12樓:匿名使用者
不要拘泥於 const 關鍵字,readonly 關鍵字表示執行時常數
private readonly string m_strposition = ;
看你這個結構下面這種定義更合適
using system.drawing;
private readonly point position = new point ;
13樓:匿名使用者
我學的也不長
應該可以直接寫成陣列!
比如string car = new string[3,3]
14樓:匿名使用者
樓上說的是2維陣列
斑竹說的是定義成一維的話應該是
string car = new string[3]car[0]=3.1;
car[1]=1.5;
car[2]=4.1;
c#裡如何定義常量集合
15樓:陽光的雷咩咩
16樓:匿名使用者
在程式裡用dictionary,如果用作外部檔案可以用ini或xml都可以
在c中如何使用和定義變數,c 中可以用介面直接定義一個變數嗎?為什麼?
我補充說點兒實際的吧!例項變數在類的內部定義,不屬於方法,會自動初始化。靜態的例項變數可以在類中任何一個方法 包括靜態的和非靜態的 中訪問,非靜態的例項變數可以在類中任何非靜態的方法中訪問。區域性變數是指在方法內部定義的變數,包括形式引數。具有一定的作用範圍,即外層的大括號,出了大括號便不能使用。靜...
c如何在控制檯程式中輸入字元,C如何在控制檯程式中輸入字元?
示例 class program console.readkey true static void test else class program console.readkey true static void test else while true bool bisnumber false i...
C語言編寫函式,如何在C語言中定義一個函式?
這個hanshu 用來從20個隨機數中推匯出15個不重複的隨機數 正數 演算法邏輯有問題。看這一句 a i a i 1 想做什麼?它在內迴圈裡 迭代數是j不是i 當前後兩數相同時它總是把後一個數賦值給前一個數,猜想你大概是想不斷的把後面的數賦給i位置的數然後做相等測試,而這裡的i就沒有動 那個con...