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

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菜單選項