基本概念複習

2022-03-03 19:23:06 字數 2041 閱讀 4180

類和物件的區別?

類是物件的抽象,物件是類的具體例項。

類是抽象的,不占用記憶體,而物件是具體的,占有記憶體空間。

例如:類就是水果,物件就是蘋果。

為什麼要使用ioc?

瀏覽器http快取原理分析?

wcf、webapi、wcfrest、webservice之間的區別?

變數和屬性?

變數是對類本身而言的,我們把他叫做域,雖然可以為public,但是這樣不利於類的封裝,因為外部使用者可以對類進行修改。

屬性是類外部顯示出來的特性

string型別作為引數是傳值還是傳址?

equal,==,referenceequal,gethashcode?

dynamic?

dynamic entity=getentity();//型別1 他們有乙個相同的字段

if(entity==null)

entity=getentity2();//型別2

return entity.a;

基元型別?

編譯器直接支援的資料型別

隱式轉化?

只有在轉換安全的時候,c#才允許隱式轉化,所謂安全,是指不會發生資料丟失的情況。

c# const, readonly, static readonly?

ref out?

在型別上執行的操作,稱為靜態方法

在型別例項上執行的操作,稱為非靜態方法

const readonly?

const 欄位為編譯時常數,而 readonly 欄位可用於執行時常數

當呼叫和const不在統一dll中該變const的類需要重新編譯其他類

這就是為什麼有時候不能替換dll的原因?

readonly 關鍵字與 const 關鍵字不同。

1. const 字段只能在該字段的宣告中初始化。

readonly 字段可以在宣告或建構函式中初始化。因此,根據所使用的建構函式,readonly 字段可能具有不同的值。

2. const 欄位是編譯時常數,而 readonly 欄位可用於執行時常數。

3. const 預設就是靜態的,而 readonly 如果設定成靜態的就必須顯示宣告。

4.const 對於引用型別的常數,可能的值只能是 string 和 null。

readonly可以是任何型別

* 需要注意的乙個問題是:

readonly 那麼不可改變的是引用位址,而非欄位引用的物件

對於乙個 readonly 的 reference 型別,只是被限定不能進行賦值(寫)操作而已。而對其成員的讀寫仍然是不受限制的。

public static readonly class1 my = new class1();

…my.someproperty = 10;//正常

my = new class1(); //出錯,該物件是唯讀的

無參屬性、索引器?

型別引數?型別實參?

逆變與協變詳解?

通常,協變型別引數可用作委託的返回型別,而逆變型別引數可用作引數型別。 對於介面,協變型別引數可用作介面的方法的返回型別,而逆變型別引數可用作介面的方法的引數型別。

「協變」->」和諧的變」->」很自然的變化」->string->object :協變。

「逆變」->」逆常的變」->」不正常的變化」->object->string 逆變。

原生型別?

array, arraylist,list,ilist,icollection, stack, queue, hashtable, dictionary, iqueryable, ienumerable?

訊息佇列的實現原理?

表達樹?泛型類expression

lambda另乙個強大的特性就是表示式樹,lambda表示式都可以通過表示式樹來描述,就不用在**

中直接編寫表示式。這樣的優勢就是表示式可以在執行的時候編譯執行,而且可以對lambda表示式進行動態修改

表示式  expression

表示式樹 expression>

垃圾**

webform和mvc區別

整合模式和經典模式

基礎複習 一 程式設計基本概念

賦值語句 1.i的值為?include using namespace std int i 1 int main 解析 此時main函式內的i是優先考慮區域性變數,除非使用作用域符號,否則是和外面值為1的i是無關的。其次,使用g 編譯,g main.cpp wall就會出現提示說i是未定義值的警告,...

基本概念 C 基本概念

由於工作中需要用到c 編寫的一些工具,有時候需要根據需求修改或者定製工具,所以現在不得不學習一下c 的基礎語法,此為筆記,不成章法!機器語言 組合語言 高階語言 面向過程的程式設計方法 物件導向的程式設計方法 泛型程式設計方法 1 演算法設計 2 源程式編輯 3 編譯 4 連線 5 執行除錯 輸入裝...

Delegate 委託複習 委託的基本概念

1 宣告乙個delegate物件,它應當與你想要傳遞的方法具有相同的引數和返回值型別。宣告乙個 的例子 public delegate int mydelegate string message 2 建立delegate物件,並將你想要傳遞的函式作為引數傳入。建立 物件的方法 1 mydelegat...