當前位置:妙知谷 >

遊戲數碼 >互聯網 >

都是C但是有不同 C#中C/C++程序員注意問題

都是C但是有不同 C#中C/C++程序員注意問題

操作方法

(01)達內盤點:C#中C/C++程序員注意問題的總結,希望對大家有所幫助。    1、C/C++程序員請注意,不能在case語句不為空時“向下執行”。  2、值類型和引用類型之間的區別:C#的基本類型(int,char等)都是值類型,是在棧中創建的。而對象是引用類型,創建於堆中,需要使用關鍵字new。  3、在C#中通過實例訪問靜態方法或成員變量是不合法的,會生成編譯器錯誤。但是我們可以通過聲明他們的類的名字來發訪問靜態成員。  4、C#派生類中,沒有私有或者保護繼承。關於這一點C++程序員注意了。  5、C#多態性,C++程序員注意,必須顯式用關鍵自override標記重新定義了虛方法的方法聲明。  6、抽象類與密封類,抽象類用來被派生,併為其子類提供遵循模版;而密封類則完全不允許被派生。抽象類關鍵字是abstract;密封類關鍵字為sealed  7、C#中結構體的定義與C++的非常不同。在C++中,結構體與類除了默認的可見性(一個是public,一個是privae)之外完全一樣。而在C#中,結構體是值類型,而類是引用類型。  8、C#中委託相當於C++中的方法指針,關鍵字為delegate。  9、用來創建網頁程序的技術是2.0,它在命名空間和中為創建網頁程序提供了一套豐富的類型。  10、C#線程三種同步機制:互鎖類(Interlocked),C# lock語句,以及監控器對象(Monitor class)  11、C#中要使用值變量之前,需要事先聲明,並且要在使用之前先設置初始值,永遠不可為null;引用類型變量,存儲在heap中,不允許在初始化之前使用這個變量。  12、C#中switch-case語句與C/C++不同地方在於C#中不允許case判斷式“silent fall through”。也就是説,當找到符合case標記後的常數後,只會執行此case區塊中的程序代碼,不會再執行其他的case判斷式進行判斷的動作。  13、參數傳入機制14、C#中使用數組要注意兩件事情:數組名稱不可置於中括號前方;聲明數組變量時,不能夠指定數組的大小。  15、類  C#的成員訪問修飾符包含以下幾種:  Public  任何外部的類都可以不受限制的存取這個類的方法和數據成員。  Private  類中的所有方法與數據成員只能在此類中使用,外部無法存取。  Protected  除了讓本身的類可以使用之外,任何繼承自此類的子類都可以存取。  Internal  在同一個 Assembly(Application或Library,也就是説,同一個EXE或同一個DLL中的成員)中都可以存取。  Protected internal  只限定目前的項目,或是繼承自此類的成員才可以存取。  結構與類的差異:16、值類型與引用類型之間的互換稱為Boxing與Unboxing  17、在C#中,對象都是使用new保留字建立的,建立對象時分兩個步驟:  一、向系統要求內存。  二、調用構造器進行初始化。  18、C#中多態性,虛擬方法用來指明擴展類可以改寫基礎類方法的實現部分。多態性用override、new來實現,在C++中用virtual來實現。  Override方法則是應用在擴展類當中,可使用override保留字指明欲改寫基礎類的virtual成員之實現部分。換言之,virtual方法是在基礎類中定義的,而override是在擴展類中定義的。  方法聲明前加上了virtual 修飾符,我們稱之為虛方法,反之為非虛。使用了virtual 修飾符後,不允許再有static, abstract, 或override 修飾符。  示例:  class B  { public virtual void foo () {} }  class D : B  {  public override void foo () {}  }  class N : D  {  public new void foo () {}  public static void Main() {  N n = new N ();  ( ) ; // 調用N的foo  ((D)n)( ) ; // 調用D的foo  ((B)n)( ) ; // 調用D的foo  }  }  19、接口(Interface)和類(Class)非常相似,唯一的不同點在於接口中不包含任何實現程序代碼。注意:定義在接口中的方法隱含都是屬於public,因此不能夠在方法之前加public修飾符。  20、attribute屬性  Attribute不過是一個聲明式的標記,能在執行時期將一些信息,如類、數據結構、enum以及assembly等信息,傳送給執行時期引擎,以動態個更改對象執行時期的行為。不妨將attribute想象成一個可供程序保存、然後使用的註釋。  21、反射  反射提供了封裝程序集、模塊和類型的對象(Type 類型)。可以使用反射動態創建類型的實例,將類型綁定到現有對象,或從現有對象獲取類型並調用其方法或訪問其字段和屬性。如果代碼中使用了屬性,可以利用反射對它們進行訪問。  反射在下列情況下很有用:  當需要訪問程序元數據中的屬性時。請參見主題使用反射訪問屬性。  檢查和實例化程序集中的類型。  在運行時構建新類型。使用 中的類。  執行後期綁定,訪問在運行時創建的類型的方法。請參見主題動態加載和使用類型。以上就是達內培訓為大家總結的有關C#中C/C++程序員注意問題的相關知識,希望大家喜歡,同時也希望大家能夠關注達內IT。

都是C但是有不同 C#中C/C++程序員注意問題
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/hulianwang/v26r1.html