1
、c/c++
程式設計師請注意,不能在
case
語句不為空時「向下執行」。 2
、值型別和引用型別之間的區別:
c#的基本型別(
int,
char
等)都是值型別,是在棧中建立的。而物件是引用型別,建立於堆中,需要使用關鍵字
new。 3
、在c#
中通過例項訪問靜態方法或成員變數是不合法的,會生成編譯器錯誤。但是我們可以通過宣告他們的類的名字來發訪問靜態成員。 4
、c#派生類中,沒有私有或者保護繼承。關於這一點
c++程式設計師注意了。 5
、c#多型性,c++
程式設計師注意
,必須顯式用關鍵自
override
標記重新定義了虛方法的方法宣告。 6
、抽象類與密封類,抽象類用來被派生,並為其子類提供遵循模版;而密封類則完全不允許被派生。抽象類關鍵字是
abstract
;密封類關鍵字為
sealed7、
c#中結構體的定義與
c++的非常不同。在
c++中,結構體與類除了預設的可見性(乙個是
public
,乙個是
privae
)之外完全一樣。而在
c#中,結構體是值型別,而類是引用型別。 8
、c#中委託相當於
c++中的方法指標,關鍵字為
delegate。
9、.net
用來建立網頁程式的技術是
asp.net2.0
,它在命名空間
system.web
和system.web.ui
中為建立網頁程式提供了一套豐富的型別。 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
、引數傳入機制
只限定目前的專案,或是繼承自此類的成員才可以訪問。
結構與類的差異:
16、值型別與引用型別之間的互換稱為
boxing
與unboxing
17、在
c#中,物件都是使用
new保留字建立的,建立物件時分兩個步驟:
一、向系統要求記憶體。
二、呼叫構造器進行初始化。 18
、c#中多型性,虛擬方法用來指明擴充套件類可以改寫基礎類方法的實現部分。多型性用
override
、new
來實現,在
c++中用
virtual
來實現。
override
方法則是應用在擴充套件類當中,可使用
override
保留字指明欲改寫基礎類的
virtual
成員之實現部分。換言之,
virtual
方法是在基礎類中定義的,而
override
是在擴充套件類中定義的。
方法宣告前加上了
virtual
修飾符,我們稱之為虛方法,反之為非虛。使用了
virtual
修飾符後,不允許再有
static, abstract,
或override
修飾符。
示例:class b
}class d : b
}class n : d
public static void main() }19
、介面(
inte***ce
)和類(
class
)非常相似,唯一的不同點在於介面中不包含任何實現程式**。注意:定義在介面中的方法隱含都是屬於
public
,因此不能夠在方法之前加
public
修飾符。 20
、attribute
屬性
attribute
不過是乙個宣告式的標記,能在執行時期將一些資訊,如類、資料結構、
enum
以及assembly
等資訊,傳送給
.net
執行時期引擎,以動態個更改物件執行時期的行為。不妨將
attribute
想象成乙個可供程式儲存、然後使用的注釋。 21
、反射反射提供了封裝程式集、模組和型別的物件(
type
型別)。可以使用反射動態建立型別的例項,將型別繫結到現有物件,或從現有物件獲取型別並呼叫其方法或訪問其字段和屬性。如果**中使用了屬性,可以利用反射對它們進行訪問。
反射在下列情況下很有用:
當需要訪問程式元資料中的屬性時。請參見主題使用反射訪問屬性。
檢查和例項化程式集中的型別。
在執行時構建新型別。使用
system.reflection.emit
中的類。
執行後期繫結,訪問在執行時建立的型別的方法。請參見主題動態載入和使用型別。
、c#中使用陣列要注意兩件事情:陣列名稱不可置於中括號前方;宣告陣列變數時,不能夠指定陣列的大小。 15
、類 c#的成員訪問修飾符包含以下幾種:
public
任何外部的類都可以不受限制的訪問這個類的方法和資料成員。
private
類中的所有方法與資料成員只能在此類中使用,外部無法訪問。
protected
除了讓本身的類可以使用之外,任何繼承自此類的子類都可以訪問。
internal
在同乙個
.net assembly(或
library
,也就是說,同乙個
exe或同乙個
dll中的成員)中都可以訪問。
protected internal
C 中C C 程式設計師注意問題
1 c c 程式設計師請注意,不能在case語句不為空時 向下執行 2 值型別和引用型別之間的區別 c 的基本型別 int,char等 都是值型別,是在棧中建立的。而物件是引用型別,建立於堆中,需要使用關鍵字new。3 在c 中通過例項訪問靜態方法或成員變數是不合法的,會生成編譯器錯誤。但是我們可以...
C C 中C C 程式設計師要注意的問題
1 c c 程式設計師請注意,不能在case語句不為空時 向下執行 2 值型別和引用型別之間的區別 c 的基本型別 int,char等 都是值型別,是在棧中建立的。而物件是引用型別,建立於堆中,需要使用關鍵字new。3 在c 中通過例項訪問靜態方法或成員變數是不合法的,會生成編譯器錯誤。但是我們可以...
C,C 程式設計師使用C 應注意的一些小問題 2
11 c 中用get set 表示設定器函式,用於獲取或設定類中各許可權資料 c 中內建 value 關鍵值用於表示 set函式中使用者傳遞值12 c 中 object 類是所有其他型別的基類,所有型別都直接或間接地從 object 類中繼承 對乙個object 的變數可以賦予任何型別的值 obje...