當前位置:概念範文網>求職簡歷>筆試題目>

c#經典筆試題

筆試題目 閱讀(1.9W)

C#是微軟公司釋出的一種面向物件的、運行於 Framework之上的高階程式設計語言。下面就由本站小編為大家介紹一下c#經典筆試題的文章,歡迎閱讀。

c#經典筆試題

c#經典筆試題篇1

1. c#中錯誤處理機制有哪些

CLR提供的結構化錯誤處理機制,用lly 捕獲

2. public/protect/private/internal修飾符的區別

public:任何類和成員都可以訪問

protect:該類和派生類能訪問

private:只能該類訪問

internal:只能在包含它的程式集中訪問

3. 大量資料(如3000萬條資料)併發處理時,有哪幾種機制

儲存過程或事務.取得最大標識的時候同時更新,注意主鍵不是自增量方式.這種方法併發的時候是不會重複主鍵的,

取得最大標識要有一個儲存過程來獲取.

4. String/StringBuilder的異同

string是一個不可變的資料型別,一旦對字串物件進行了初始化,該字串物件就不能改變了。修改字串內容的方法

和運算子實際上是建立一個新的字串.

stringbuilder分配好記憶體,對字串的修改就在賦予stringbuilder例項的儲存單元中進行.

舉例:

string的確是不能修改的:

string str = "a";

str = "b"//str是被賦值了"b"沒錯,但是str裡面原來的string值"a"並沒有被修改。

string str = "a";

string str1 = str;

str += "b";//此時str = "ab",str1 = "a";

StringBuilder str = new StringBuilder( "a" );

StringBuilder str1 = str;

nd( "b" );

ring和ring都是"ab"。

5. 解釋string str=null/string str=""

str=null,宣告而不分記憶體空間,str=""宣告而分記憶體空間

6. 什麼是單例模式,寫個運用單例模式的類

Singleton模式包含的角色只有一個,就是Singleton。Singleton擁有一個私有建構函式,確保使用者無法通過new直接

例項它

// Singleton pattern -- Structural example

using System;

// "Singleton"

class Singleton

{

// Fields

private static Singleton instance;

// Constructor

protected Singleton

// Methods

public static Singleton Instance

{

// Uses "Lazy initialization"

if( instance == null )

instance = new Singleton;

return instance;

}

}

/**////

/// Client test

///

public class Client

{

public static void Main

{

// Constructor is protected -- cannot use new

Singleton s1 = ance;

Singleton s2 = ance;

if( s1 == s2 )

eLine( "The same instance" );

}

}

7. 頁面間傳遞有哪幾種方式

QueryString, rect, session, sfer

8. 解釋過載/覆蓋

9. Web Services的含義/UDDI的含義

Web服務是利用SOAP在HTTP上執行遠端方法呼叫的一種新方法。

UDDI的含義:統一描述發現和整合(UDDI)提供一種釋出和查詢服務描述的方法。

10.虛擬函式/抽象函式各自的定義

虛擬函式:由virtual宣告,它允許在派生類中被重寫,要重寫方法,必須先聲名為virtual

public class myclass

{

public virtual int myint

{

函式體;

}

}

class myclass1:myclass

{

public override int myint

{

函式體1;

}

}

抽象類、抽象函式:由abstract宣告,在抽象類中可以定義抽象方法,抽象方法基本沒有執行程式碼,派生類必須重寫它,提供其執行程式碼

public abstract class myclass

{

public abstract int myint;

}

public class myclass1:myclass

{

public override int myint

{

函式體;

}

}

c#經典筆試題篇2

1.介面和類的異同

介面類:由interface宣告,是特殊的抽象類,是方法、屬性、事件和索引符的組合,沒有欄位,其成員無執行方式,無建構函式,不允許進行運算子過載,介面和它的成員沒有任何訪問修飾符,它總是公共的,不能宣告為虛擬或靜態,繼承自介面的派生類必須實現介面中的所有方法

interface Imyinterface

{

void myfunction;

string name

{

get;

set;

}

}

class myclass:Imyinterface

{

void myfunction

{

函式體;

}

string name

{

get

{

return name;

}

set

{

name=value;

}

}

}

介面是負責功能的定義,專案中通過介面來規範類,操作類以及抽象類的概念!

而類是負責功能的具體實現!

在類中也有抽象類的定義,抽象類與介面的區別在於:

抽象類是一個不完全的類,類裡面有抽象的方法,屬性,也可以有具體的方法和屬性,需要進一步的專業化。

但介面是一個行為的規範,裡面的所有東西都是抽象的!

一個類只可以繼承一個基類也就是父類,但可以實現多個介面

erty/assembly區別

Reader/DataSet區別

dataset表示一個數據集,是資料在記憶體中的快取。 可以包括多個表

DatSet 連線資料庫時是非面向連線的。把表全部讀到Sql中的緩衝池,並斷開於資料庫的連線

datareader 連線資料庫時是面向連線的。讀表時,只能向前讀取,讀完資料後有使用者決定是否斷開連線。

g/new各自的意義

using引入名稱空間或者說使用非託管資源new 新建例項或隱藏父類方法

5.一列數的規則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數是多少, 用遞迴演算法實現

public class MainClass

{

public static void Main

{

eLine(Foo(30));

}

public static int Foo(int i)

{

if (i <= 0)

return 0;

else if(i > 0 && i <= 2)

return 1;

else return Foo(i -1) + Foo(i - 2);

}

}

6.C#中的委託是什麼?事件是不是一種委託?

委託可以把一個方法作為引數代入另一個方法。

委託可以理解為指向一個函式的引用。

是,是一種特殊的委託

ride與過載的區別

過載是方法的名稱相同。引數或引數型別不同,進行多次過載以適應不同的需要

Override 是進行基類中函式的重寫

8.如果在一個B/S結構的系統中需要傳遞變數值,但是又不能使用Session、Cookie、Application,您有幾種方法進行處理?

QueryString、FormsAuthentication,sfer

9.請程式設計遍歷頁面上所有TextBox控制元件並給它賦值為y?

foreach (rol control in rols)

{

if (control is Box)

{

Box tb = (Box)control ;

= y ;

}

}

foreach (rol rols)

{

if (controlis Box)

{

Box tb = controlas Box ;

if(tb!=null)

{

= y ;

}

}

}

10.請程式設計實現一個氣泡排序演算法?

int array = new int [*] ;

int temp = 0 ;

for (int i = 0 ; i < th - 1 ; i++)

{

for (int j = i + 1 ; j < th ; j++)

{

if (array[j] < array[i])

{

temp = array[i] ;

array[i] = array[j] ;

array[j] = temp ;

}

}

}

c#經典筆試題篇3

1.描述一下C#中索引器的實現過程,是否只能根據數字進行索引?

可以用任意型別

C#中的索引器通常用於索引陣列,樓上的THIS就是索引器了。

索引器不單能索引數字(陣列下標),還能索引一些HASHMAP的字串,所以,通常來說,C#中類的索引器通常只有一個,就是THIS,但也可以有無數個,只要你的引數列表不同就可以了

索引器和返回值無關

class A

{

int i=new int[10];

publib int this[int v]

{

return i[v];

}

2.求以下表達式的值,寫出您想到的一種或幾種實現方法: 1-2+3-4+……+m

if(m%2 == 1){

S = (m + 1) / 2;

} else {

S = -m / 2;

}

int Num = ring ;

int Sum = 0 ;

for (int i = 0 ; i < Num + 1 ; i++)

{

if((i%2) == 1)

{

Sum += i ;

}

else

{

Sum = Sum - I ;

}

}

eLine(ring);

Line ;

3.

using System;

class A

{

public A

{

PrintFields;

}

public virtual void PrintFields

}

class B:A

{

int x=1;

int y;

public B

{

y=-1;

}

public override void PrintFields

{

eLine("x={0},y={1}",x,y);

}

}

當使用new B建立B的例項時,產生什麼輸出? X=1,Y=0;x= 1 y = -1

4..什麼叫應用程式域?

應用程式域可以理解為一種輕量級程序。起到安全的作用。佔用資源小。

、CLS、CLR分別作何解釋?

CTS:通用語言系統。CLS:通用語言規範。CLR:公共語言執行庫。

6.什麼是裝箱和拆箱?

從值型別介面轉換到引用型別裝箱。從引用型別轉換到值型別拆箱。

7.什麼是受管制的程式碼?

unsafe:非託管程式碼。不經過CLR執行。

8.什麼是強型別系統?

RTTI:型別識別系統。

9.在中,配件的意思是?

程式集。(中間語言,源資料,資源,裝配清單)

10.常用的呼叫WebService的方法有哪些?

1.使用命令列工具。

2.使用中的Add Web Reference選單選項