亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#語法相比其它語言比較獨特的地方(一)

2020-01-24 02:00:37
字體:
來源:轉載
供稿:網友

由于c#是由設計.net本身的人設計出來的,所以c#才是.net上最一流的語言。
實際上,已經有一百多萬行c#代碼用于實現.Net class framework。
要發揮出.net平臺全部的效能,只有c#才是首選。

1,switch語句可以用來測試string型的對象
這在c,c++,java等其他各主流語言中都是不可以的,唯獨c#可以。
例如string a="haha";

復制代碼 代碼如下:

switch(a)
{
    case "dfj":
     ...
    break;
    case "djkfdjkf":
    ....
    break;
    case "haha":
     .....
    break;
    default:
    ....
}

2、多維數組

這也是c#的特色,像java也沒有多維數組,只有數組的數組。
c#中不但有數組的數組,也有多維數組。
數組的數組的特點是(拿二維為例),每一行的元素個數可以不同。
比如int [][] c=new int[2][];

復制代碼 代碼如下:

c[0]={3,4,5,6};
c[1]={1};

c#中的多維數組的形式是這樣定義
復制代碼 代碼如下:

int [,] c=new int[3,4];

這樣的c就是一個三行四列的二維數組。

3,as與is

java中也有類似于is的語法,用于在運行時判斷一個對象的類型,叫做instanceof。
c#中就是一個is,判斷o是不是一個string:   o is string
as則是一個很窩心的功能,它首先對這個對象進行判斷是否是某種類型,如果是就進行類
型轉換,如果不是,就返回null。
  如:   o as string

4,foreach語句

java5以后for語句就多了foreach功能,這也許就是因為之前沒有,而c#有,使得自己非常嫉妒,所以馬上給添上了。

c#中的foreach功能是非常方便的。

例如遍歷一個數組

復制代碼 代碼如下:

string[] sentences=...;
foreach(string st in sentences)
{
  ....
}

5,索引器和Property

不得不承認,我的偶像Anders實現出來的c#確實非常優秀。
我把索引器和Property歸為一類。
都是從Class中讀取某種屬性,如果知道java的POJO的人肯定知道,java bean的標準形式
就是一堆private屬性,然后一個getter,一個setter,這是標準,但實現確實使用的普通成員方法。

c#則更絕,它直接在Class中聲明一個單獨的field,然后在語法中直接設計了getter和setter的簡化寫法,這就是我們熟知的Property。
如:

復制代碼 代碼如下:

public class WordCount
{
  private string m_string;
  public string OutFile
  {
     get{...}
     set{...value...}
  }
}

這樣真正做到了封閉改動,開放擴展。
然后就是索引器,我覺得java中只有EL才有點做出了類似索引器的功能,這也只是方便了寫jsp的人,而且很多廠商居然不在自己的容器中包含EL解析,這不得不讓sun很無奈。

索引器就是給幾個參數,返回一個屬性。
如:

復制代碼 代碼如下:

public int this[string index]
{
  get{...}
  set{..value}
}
public int this[int x,int y]
{
  get{}
  set{..value}
}

6,const和readonly

這點c#讓我有點失望,對于非Ref型就是const,對于Ref型就是readonly。
而在java中,一個final就行了。當然對于不可繼承的類,c#又有一個關鍵字sealed,雖然這讓程序的含義更明確,但確實也多記了好幾個關鍵字。

7,delegate型別

說實話,這種奇怪的語法還是第一次見到,說跟C++中重載operator()的功能像吧,又不是太像。
總而言之,覺得它實現可能就是記下一堆同類型的函數指針,然后可以依次調用而已。
首先需要聲明一個delegate型別,注意是型別而不是對象。
如public delegate void Action();
注意既然是型別,那就跟enum,class是同等的,注意型別能夠出現的位置。
然后我們就可以定義這種型別的對象來使用了。

復制代碼 代碼如下:

Action aaa=new Action(...);

這個...代表的是符合這種函數原形的函數名字,注意使用delegate機制來調用,和直接調用函數本質上沒有什么不同,就是說,當你調用成員函數的時候,當然你需要有一個對象,而調用靜態函數的時候,你可以直接使用類名了。

這種delegate型別對象還有點特殊,它可以使用運算符+=和-=來增加或者減少本對象所代
理的函數集,當然還有更多的方法用來看當前我代理了多少個函數之類的。

復制代碼 代碼如下:

aaa+=new Action(xxx);
aaa+=new Action(ooo);

然后aaa(),意味著順序調用xxx和ooo。
aaa.GetInvocationList().length可以看到當前代理了多少個函數。
你不用擔心代理的普通成員函數的所屬對象會被垃圾回收器回收,直到此代理對象不再引用這個函數,當然這個也是壞消息,說不定你都忘了還有某個代理對象代理著要死的對象的函數,讓這個對象老不死。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲成人久久一区| www.亚洲天堂| 中文字幕精品一区二区精品| 97成人精品视频在线观看| 亚洲一级黄色av| 色老头一区二区三区| 国产精品网站大全| 国产视频丨精品|在线观看| 久久成人综合视频| 亚洲成人黄色在线| 欧美一区二区三区图| 91探花福利精品国产自产在线| 欧美激情亚洲自拍| 91精品久久久久久久久久久久久久| 欧美午夜影院在线视频| 亚洲综合中文字幕68页| 精品视频www| 日韩av电影在线免费播放| 欧美激情免费看| 2019中文在线观看| 国产精品www网站| 欧美性在线视频| 欧美一级视频免费在线观看| 日韩一区二区欧美| 伊人一区二区三区久久精品| 亚洲成人激情在线观看| 最好看的2019的中文字幕视频| 亚洲黄色www网站| 亚洲午夜av电影| 91情侣偷在线精品国产| 国产精品伦子伦免费视频| 亚洲国产精彩中文乱码av在线播放| 欧美日韩电影在线观看| 三级精品视频久久久久| 一区二区成人av| 日本伊人精品一区二区三区介绍| 姬川优奈aav一区二区| 国产精品白嫩初高中害羞小美女| 中文字幕亚洲综合久久| 中文字幕日韩专区| 国产精彩精品视频| 97香蕉久久超级碰碰高清版| 成人激情综合网| 久久精品一本久久99精品| 亚洲视频精品在线| 久久精视频免费在线久久完整在线看| 亚洲的天堂在线中文字幕| 欧美一级免费看| 91久久久久久国产精品| 欧美电影在线观看网站| 久久男人的天堂| 亚洲精品日韩激情在线电影| 日韩一区二区福利| 国产视频福利一区| 亚洲一区二区中文| 国产精品美女999| 中文字幕不卡av| 91久久在线视频| 亚洲精品久久视频| 久久久久久久影视| 91av网站在线播放| 精品久久久久国产| 精品中文字幕在线2019| 久久久精品久久| 国产精品视频在线观看| 欧洲成人免费视频| 性欧美xxxx交| 亚洲精品福利视频| 国产精品欧美激情| 国产精品电影网站| 性欧美长视频免费观看不卡| 欧美日韩综合视频网址| 久久人91精品久久久久久不卡| 精品亚洲一区二区三区在线播放| 欧美男插女视频| 久久影视电视剧凤归四时歌| 亚洲乱码一区二区| 亚洲va国产va天堂va久久| 亚洲影视九九影院在线观看| 国产午夜精品视频免费不卡69堂| 国产成人高清激情视频在线观看| 色在人av网站天堂精品| 亚洲欧美激情另类校园| 久久久中精品2020中文| 国产欧美在线看| 国产成人在线一区| 欧美丝袜第一区| 欧美在线激情网| 精品呦交小u女在线| 欧美亚洲国产视频| 国内精品久久久久久久久| 国产亚洲美女久久| 91天堂在线观看| 欧美日韩在线观看视频小说| 亚洲毛茸茸少妇高潮呻吟| 国产91免费看片| 国内精品美女av在线播放| 中文字幕亚洲精品| 国产精品嫩草影院一区二区| 日日噜噜噜夜夜爽亚洲精品| 亚州国产精品久久久| 欧美日韩美女在线观看| 欧美日韩亚洲激情| 欧美精品videofree1080p| 在线播放日韩精品| 精品久久久香蕉免费精品视频| 国产精品久久久久久久久借妻| 亚洲日本中文字幕免费在线不卡| 亚洲精品在线不卡| 亚洲自拍偷拍视频| 久久中文字幕在线| 国产精品视频免费在线观看| 亚洲一区中文字幕| 日韩美女在线观看| 日韩高清有码在线| 国产成人拍精品视频午夜网站| 久久亚洲精品一区| 欧美大片在线免费观看| 国产精品久久久久久久7电影| 欧美精品久久久久久久久| 欧美一区第一页| 欧美中在线观看| 亚洲自拍偷拍第一页| 疯狂欧美牲乱大交777| 亚洲国产精品高清久久久| 97精品视频在线| 亚洲精品久久久久久下一站| 国产精品久久久久久婷婷天堂| 日韩av观看网址| 国产精品亚发布| 亚洲精品国产精品自产a区红杏吧| 亚洲乱亚洲乱妇无码| 国产日产欧美a一级在线| 国产成人精品免高潮费视频| 欧美交受高潮1| 国产97在线观看| 俺也去精品视频在线观看| 丝袜情趣国产精品| 亚洲天堂免费观看| 97激碰免费视频| 久99久在线视频| 亚洲国产91精品在线观看| 精品久久久久久久久久| 色综合久久久888| 日本精品久久久久影院| 国产精品久久色| 亚洲国产福利在线| 国产成人综合精品在线| 国产精品嫩草视频| 久久综合电影一区| 大胆欧美人体视频| 欧美精品18videosex性欧美| 久久久国产视频| 亚洲专区中文字幕| 永久555www成人免费| 国产一区二区成人| 日韩在线观看免费网站| 91精品视频观看| 欧美性色视频在线| 国产一区二区美女视频| 日韩在线www| 狠狠躁天天躁日日躁欧美| 久久久影视精品| 日韩性生活视频|