1、override與重載的區(qū)別
答:其實很本質(zhì)的區(qū)別就是看函數(shù)特征:覆寫(Override)的兩個函數(shù)的函數(shù)特征相同,重載(Overload)的兩個函數(shù)的函數(shù)名雖然相同,但函數(shù)特征不同。 函數(shù)特征包括函數(shù)名,參數(shù)的類型和個數(shù)。Override 是在繼承的時候,如果你寫的函數(shù)與要繼承的函數(shù)函數(shù)特征相同,那么,加上這個關(guān)鍵字,在使用這個子類的這個函數(shù)的時候就看不見父類(或超類)的函數(shù)了,它被覆蓋掉了。
2、.net的錯誤處理機制是什么
答:try{可能要出錯的代碼}catch{出錯后如何處理}finally{不論是否出錯都要執(zhí)行}
3、C#中接口和類的異同
答:類是引用類型,可以繼承類、接口和被繼承,有默認(rèn)的構(gòu)造函數(shù),有析構(gòu)函數(shù),可以使用abstract和sealed,有protected修飾符,必須使用new初始化。
接口可以說是比抽象類更抽象的類,只能繼承接口,是一種規(guī)范
4、DataReader和DataSet的異同
答:dataset是保存數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),斷開模式,而DataReader不承擔(dān)保存數(shù)據(jù)的責(zé)任,需要自己手動關(guān)閉連接數(shù)據(jù)庫,它只負(fù)責(zé)從數(shù)據(jù)源讀取數(shù)據(jù)到本地而已,是只讀向前的,它不是數(shù)據(jù)結(jié)構(gòu),而是網(wǎng)絡(luò)通訊組件的高層封裝。
1.有哪幾種方法可以實現(xiàn)一個類存取另外一個類的成員函數(shù)及屬性,并請舉列來加以說明和分析.
答:反射,base
2.如果需記錄類的實例個數(shù),該如何實現(xiàn),請寫一個簡單的類于以證明.
答:static int num = 0;在構(gòu)造函數(shù)里num++。
3.A類是B類的基類,并且都有自己的構(gòu)造,析構(gòu)函數(shù),請舉例證明B類從實例化到消亡過程中構(gòu)造,析構(gòu)函數(shù)的執(zhí)行過程.
答:A構(gòu)造 →B構(gòu)造 →B析構(gòu) →A析構(gòu)
4.需要實現(xiàn)對一個字符串的處理,首先將該字符串首尾的空格去掉,如果字符串中間還有連續(xù)空格的話,僅保留一個空格,即允許字符串中間有多個空格,但連續(xù)的空格數(shù)不可超過一個.
答:string a = ” a b c d e c d “;
string d = a.Replace(” “, ” “);
while (true)
{
d = d.Replace(” “,” “);
if (d.IndexOf(” “) == -1)
{
break;
}
}