1. internal關鍵字
解:internal 關鍵字是類型和類型成員的存取修飾詞。只有在同一程式集的檔案中,內部類型或成員才是可訪問的.
2. ASP.NET 頁面之間傳遞值的幾種方式
解:1. Querystring。
Querystring是一種非常簡單的傳值方式,其缺點就是會把要傳送的值顯示在瀏覽器的地址欄中,並且在此方法中不能夠傳遞對象。如果你想傳遞一個安全性不是那麼太重要或者是一個簡單的數值時,用此方法最好不過了。
2. Session變數
使用Session變數傳值是一種最常見的方式了,此中方式不僅可以把值傳遞到下一個頁面,還可以交叉傳遞到多個頁面,直至把Session變數的值removed後,變數才會消失。
3. Server.Transfer
雖然這種方法有點複雜,但也不失為一種在頁面傳值的方式。
3. 簡單的C#索引器舉例
解:
using System;
using System.Collections;
class MyClass{
private string[] data = new string[5];
public string this[int index] {
get { return data[index]; }
set { data[index] = value; } }
}
class MyClient{
public static void Main() {
MyClass mc = new MyClass();
mc[0] = "Rajesh";
mc[1] = "A3-126";
mc[2] = "Snehadara";
mc[3] = "Irla"; mc[4] = "Mumbai";
Console.WriteLine("{0},{1},{2},{3},{4}", mc[0], mc[1], mc[2], mc[3], mc[4]); }}
4. 用.net做B/S結構的系統,您是用幾層結構來開發,每一層之間的關係以及為什麼要這樣分層?
解:一般為3層。
資料訪問層,商務邏輯層,展示層。
資料訪問層:對資料庫進行增刪查改。
業務層:一般分為二層,業務表觀層實現與展示層的溝通,商務規則層實現使用者密碼的安全等。
展示層:為了與使用者互動。例如使用者添加表單。
5. 什麼叫應用程式定義域?
解:應用程式定義域(AppDomain)。可以理解成很多應用程式定義域都可以運行在同一個.NET的進程中,可以降低系統消耗,同時不同的域之間互相隔離,在安全性方面有保障。另外對於同一個進程內不同域之間的通訊也相對簡單一點。
AppDomainSetup info = new AppDomainSetup();
info.LoaderOptimization = LoaderOptimization.SingleDomain;
AppDomain domain = AppDomain.CreateDomain("MyDomain", null, info);
domain.ExecuteAssembly("C:\\test\\DomainCom.exe");
AppDomain.Unload(domain);
6. 什麼是裝箱和拆箱?
解:從實值型別轉換到參考型別--裝箱。
從參考型別轉換到實值型別--拆箱。
7. .net中讀寫資料庫需要用到那些類?他們的作用?
解:SqlDataAdapter , DataSet ,SqlCommand
private static DataSet SelectRows(
DataSet dataset, string connectionString,string queryString) {
using (SqlConnection connection = new SqlConnection(connectionString)) {
SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = new SqlCommand(queryString, connection);
adapter.Fill(dataset);
return dataset; }
}
8. ASP.net的身分識別驗證方式有幾種?
解:1. Windows Authentication,包括NTLM和Kerbros
2. Form Authentication。
3. Passport Authentication。需要安裝Passport Software Developer Kit.這種認證方式適合於跨站之間的應用,使用者只有一個使用者名稱和密碼可以訪問任何成員站。
9. wsdl.exe的使用方式?
解:
wsdl http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
(根據指定的XML Web Service產生一個.wsdl檔案和以C#語言描述的用戶端代理類)
wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx
(根據指定的XML Web Service產生一個以C#語言描述的用戶端代理類- myProxyClass.cs)
wsdl /language:VB /out:myProxyClass.vb http://hostServer/WebserviceRoot/WebServiceName.asmx
(根據指定的XML Web Service產生一個以VB語言描述的用戶端代理類- myProxyClass.vb)
10. struct和class的區別?
解:
|
Struct` |
Class |
地址分配 |
棧 |
堆 |
效率 |
高 |
低 |
適合對象 |
小 |
大而複雜 |
類型 |
實值型別 |
參考型別 |
拷貝時 |
建立新結構 |
複製引用 |
繼承性 |
不可繼承與被繼承 |
可繼承,可自訂(sealed) |
11. abstract class和interface有什麼區別?
解:
|
abstract class |
interface |
概念 |
抽象類別型 |
協議 |
非待用資料成員 |
可有 |
不可有 |
方法預設行為 |
可有 |
不可有 |
與被繼承類的關係 |
is a |
implement |
12. .try {}裡有一個return語句,那麼緊跟在這個try後的finally {}裡的code會不會被執行,什麼時候被執行,在return前還是後?
解:會執行,在return前執行。
13. C#反射即舉例
解:
Reflection,中文翻譯為反射。
這是.Net中擷取運行時類型資訊的方式,.Net的應用程式由幾個部分:‘程式集(Assembly)’、‘模組(Module)’、‘類型 (class)’組成,而反射提供一種編程的方式,讓程式員可以在程式運行期獲得這幾個組成部分的相關資訊。
(1)使用Assembly定義和載入程式集,載入在資訊清單中列出模組,以及從此程式集中尋找類型並建立該類型的執行個體。
(2)使用Module瞭解包含模組的程式集以及模組中的類等,還可以擷取在模組上定義的所有全域方法或其他特定的非全域方法。
(3)使用ConstructorInfo瞭解建構函式的名稱、參數、存取修飾詞(如pulic 或private)和實現詳細資料(如abstract或virtual)等。使用Type的GetConstructors或 GetConstructor方法來調用特定的建構函式。
(4)使用MethodInfo瞭解方法的名稱、傳回型別、參數、存取修飾詞(如pulic 或private)和實現詳細資料(如abstract或virtual)等。使用Type的GetMethods或GetMethod方法來調用特定的方法。
(5)使用FiedInfo瞭解欄位的名稱、存取修飾詞(如public或private)和實現詳細資料(如static)等,並擷取或設定欄位值。
(6)使用EventInfo瞭解事件的名稱、事件處理常式資料類型、自訂屬性、宣告類型和反射類型等,添加或移除事件處理常式。
(7)使用PropertyInfo瞭解屬性的名稱、資料類型、宣告類型、反射類型和唯讀或可寫狀態等,擷取或設定屬性值。
(8)使用ParameterInfo瞭解參數的名稱、資料類型、是輸入參數還是輸出參數,以及參數在方法簽名中的位置等。