3 C 知識點 is和as

2021-09-08 05:07:38 字數 1111 閱讀 5599

is和as 都是用於型別轉換的操作。

但是這兩個有什麼區別呢?

簡單的來說 is 判斷成立則返回true,反之返回false。as 成立則返回要轉換的物件,不成立則返回null。

下面掏一手**來說明一下。

using system;

using system.collections.generic;

using system.io;

using system.linq;

using system.text;

using system.threading.tasks;

namespace isandastest

}public class father

public class child:father

public class mother

}

using system;

using system.collections.generic;

using system.io;

using system.linq;

using system.text;

using system.threading.tasks;

namespace isandastest

}public class father

public class child:father

public class mother

}

有一點我要強調一下就是子類可以轉換父類,但是父類不能轉換為子類,這就比如現在這個社會。你父母的東西是你的,但是你的東西還是你的一樣。

father f2 = new father();

child c1 = (child)f2;

第二句**轉換的時候就會失敗了。因為父類不能強轉換為子類。father不能轉換為child,但是我們如果用as進行轉換的話為得到乙個null的c1物件。

總結 由他們返回值就可以簡單的知道他們的用法。

is 主要用於型別推斷,而不需要實際的轉換。

as 主要用於真正的型別轉換。

世上本來沒有路,走的人多了,就是路了。世上也沒有絕對的真理,你成功了,你就是真理。

3 C 語言知識點總結

1.封裝 將記錄包起來讓其自己去幹。2.抽象 記錄一下這些傢伙的屬性,比如都是人。3.繼承 生下來的兒子跟父親乙個鳥樣。4.多型 兒子除了含有父親的內容外,還有自己的特徵。5.標頭檔案中不加 h 6.加上命名空間 using namespace std 後期考慮到c 主要用在大型程式設計,可以不加,...

C語言知識點 3

1.指標與陣列 用陣列指標遍歷陣列每個元素,指標當作陣列來用,int ages 5 int p p ages p ages 0 p 0 p 2 ages 2 p 2 指標變數的p 1究竟加多少,取決於指標的型別,另外指標指向的是陣列的首元素,並不是指向陣列,這也和指標型別有關,指標是int型別,只能...

C 刷題知識點總結3

int p 10 p是乙個陣列 含10個int元素 int p 10 p是乙個指標 指向乙個有10個int的陣列 2.c primer 中文版p187 190關於引數傳遞,指出只有傳值和傳引用 傳指標包含在傳值裡 一般來說,c裡面有兩種傳遞 1 值傳遞 2 指標傳遞 嚴格來看,只有一種傳遞,值傳遞,...