æ们é½ç¥éï¼conståstatic readonlyçç¡®å¾åï¼éè¿ç±»åèä¸æ¯å¯¹è±¡åè¿è¡è®¿é®ï¼å¨ç¨åºä¸åªè¯»ççã
å¨å¤æ°æ
åµä¸å¯ä»¥æ··ç¨ã
äºè
æ¬è´¨çåºå«å¨äºï¼constçå¼æ¯å¨ç¼è¯æé´ç¡®å®çï¼å æ¤åªè½å¨å£°ææ¶éè¿å¸¸é表达å¼æå®å
¶å¼ãè
static readonlyæ¯å¨è¿è¡æ¶è®¡ç®åºå
¶å¼çï¼æ以è¿å¯ä»¥éè¿éææé å½æ°æ¥èµå¼ã
æç½äºè¿ä¸ªæ¬è´¨åºå«ï¼æ们就ä¸é¾çåºä¸é¢çè¯å¥ä¸static readonlyåconstè½å¦äºæ¢äºï¼
1. static readonly MyClass myins = new MyClass();
2. static readonly MyClass myins = null;
3. static readonly A = B * 20;
static readonly B = 10;
4. static readonly int [] constIntArray = new int[] {1, 2, 3};
5. void SomeFunction()
{
const int a = 10;
...
}
1ï¼ä¸å¯ä»¥æ¢æconstãnewæä½ç¬¦æ¯éè¦æ§è¡æé å½æ°çï¼æ以æ æ³å¨ç¼è¯æé´ç¡®å®
2ï¼å¯ä»¥æ¢æconstãæ们ä¹çå°ï¼Referenceç±»åç常éï¼é¤äºStringï¼åªè½æ¯Nullã
3ï¼å¯ä»¥æ¢æconstãæ们å¯ä»¥å¨ç¼è¯æé´å¾æç¡®ç说ï¼Açäº200ã
4ï¼ä¸å¯ä»¥æ¢æconstãéçå1æ¯ä¸æ ·çï¼è½ç¶çèµ·æ¥1,2,3çæ°ç»ç确就æ¯ä¸ä¸ªå¸¸éã
5ï¼ä¸å¯ä»¥æ¢æreadonlyï¼readonlyåªè½ç¨æ¥ä¿®é¥°ç±»çfieldï¼ä¸è½ä¿®é¥°å±é¨åéï¼ä¹ä¸è½ä¿®é¥°propertyç
å
¶ä»ç±»æåã
å æ¤ï¼å¯¹äºé£äºæ¬è´¨ä¸åºè¯¥æ¯å¸¸éï¼ä½æ¯å´æ æ³ä½¿ç¨constæ¥å£°æçå°æ¹ï¼å¯ä»¥ä½¿ç¨static readonlyãä¾
å¦C#è§èä¸ç»åºçä¾åï¼
public class Color
{
public static readonly Color Black = new Color(0, 0, 0);
public static readonly Color White = new Color(255, 255, 255);
public static readonly Color Red = new Color(255, 0, 0);
public static readonly Color Green = new Color(0, 255, 0);
public static readonly Color Blue = new Color(0, 0, 255);static readonlyéè¦æ³¨æçä¸ä¸ªé®
é¢æ¯ï¼å¯¹äºä¸ä¸ªstatic readonlyçReferenceç±»åï¼åªæ¯è¢«éå®ä¸è½è¿è¡èµå¼ï¼åï¼æä½èå·²ãè对å
¶æ
åç读åä»ç¶æ¯ä¸åéå¶çã
public static readonly MyClass myins = new MyClass();
â¦
myins.SomeProperty = 10; //æ£å¸¸
myins = new MyClass(); //åºéï¼è¯¥å¯¹è±¡æ¯åªè¯»ç
ä½æ¯ï¼å¦æä¸ä¾ä¸çMyClassä¸æ¯ä¸ä¸ªclassèæ¯ä¸ä¸ªstructï¼é£ä¹åé¢ç两个è¯å¥å°±é½ä¼åºéã
private byte red, green, blue;
public Color(byte r, byte g, byte b)
{
red = r;
green = g;
blue = b;
}
}
å¨éä¿ä¸ç¹è¯´,constç±»åèµå¼å¿
é¡»æ¯è±ç¦»ç³»ç»è¿è¡æ¶æè½åå§åçå¼(const page p=nullæ£ç¡®,const page p= new Page()é误,å 为 new Page()éè¦è¿è¡æ¶æåå§å)å¯ä»¥ä½¿ç¨static readonly(static readonly page p= new Page())
转èªï¼ï¼ heizhenpeng
温馨提示:内容为网友见解,仅供参考