国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

面試題整理:C#(二)

2019-11-14 15:57:29
字體:
來源:轉載
供稿:網友

 

1.類,接口的區別

從定義的角度
類描述一個實體,包括狀態、屬性和動作
接口定義一類動作,沒有實現,也沒有狀態信息
從程序的角度
接口是函數聲明;類是函數實現
接口可以有屬性,不能有字段
一個子類只能繼承一個父類,但是可以繼承多個接口

 

2.接口和抽象類的區別

抽象類是一類事物的高度聚合,接口是定義行為的規范
抽象類定義方法時,可以有實現,也可以沒有
接口中定義的方法,不能有實現
抽象類子類可以不重寫抽象方法,繼承接口的類必須有方法和屬性的實現

 

3.抽象方法和虛方法的區別

抽象方法使用abstract關鍵字,虛方法是用virtual關鍵字
抽象方法必須被派生類重寫,虛方法可以不重寫
抽象方法可以看作沒有實現的虛方法
類包含抽象方法,必須被定義為抽象類

 

4.Equal()、ReferenceEqual()、== 的區別

對于引用類型
Equal是比較引用的值是否相等
ReferenceEqual比較是否是同一個引用

Object a=new Object();
Object b=a;
Object c=new Object();       
Object d=new Object();
c=(object)100;
d=(object)100;

System.Object.Equals(a, b);           //return true
System.Object.ReferenceEquals(a, b);    //return true
System.Object.Equals(c, d);           //return true
System.Object.ReferenceEquals(c, d);    //return false

對于值類型,如果操作數的值相等,則相等運算符 (==) 返回 true,否則返回 false。對于 string 以外的引用類型,如果兩個操作數引用同一個對象,則 == 返回 true。對于 string 類型,== 比較字符串的值。

 

5.進程和線程的區別

線程時CPU調度和分配的單位,進程內可以有多個線程,共享進程資源

 

6.使用Operator的注意事項

需要提供public static修飾符;
需要有返回值;參數類型可以不同;==和!=必須成對出現

 

7.Task和ThreadPool的區別

ThreadPool不支持線程的取消,完成、失敗通知等交互
ThreadPool不支持線程執行的順序
Task有屬性,可以查詢任務完成時的狀態(IsCanceled/IsCompleted/IsFaulted)
Task沒有提供回調時間通知,通過啟動一個新任務的方式完成類似的功能。
ContinueWith可以在一個Task完成時發起一個新的任務,支持了任務的完成通知,可以在新任務中獲取舊任務的結果
ThreadPool可以節省創建銷毀線程消耗的時間,減少內存浪費,和性能損失

 

8.Sealed關鍵字的作用

被Sealed類修飾的類和方法不能被繼承和重寫

 

9.能用foreach遍歷訪問的對象需要實現什么接口或者聲明什么方法

不一定要實現IEnumerable接口,一定要實現GetEnumerator方法

 

10.構造函數是否可以被Override

不可以,構造器不能被繼承,不能被Override,可以被Overload

 

 

 

 

 

 

TO BE CONTINUE...

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 六枝特区| 临高县| 南郑县| 马尔康县| 塔河县| 寿宁县| 怀柔区| 鹤山市| 谢通门县| 固安县| 呼伦贝尔市| 奉节县| 滕州市| 东乡县| 海门市| 徐水县| 鄢陵县| 垣曲县| 长泰县| 道真| 岱山县| 柯坪县| 民丰县| 博乐市| 盘锦市| 莱阳市| 东平县| 常宁市| 自贡市| 清新县| 黔南| 南昌市| 屏东县| 宾川县| 潼南县| 叶城县| 安康市| 安康市| 河源市| 雷波县| 宁远县|