不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學習啦 > 創(chuàng)業(yè)指南 > 職場 > 筆試題 > c#經(jīng)典筆試題

c#經(jīng)典筆試題

時間: 護托1061 分享

c#經(jīng)典筆試題

  C#是微軟公司發(fā)布的一種面向對象的、運行于.NET Framework之上的高級程序設計語言。下面就由學習啦小編為大家介紹一下c#經(jīng)典筆試題的文章,歡迎閱讀。

  c#經(jīng)典筆試題篇1

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

  CLR提供的結構化錯誤處理機制,用try..catch..finally 捕獲

  2. public/protect/private/internal修飾符的區(qū)別

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

  protect:該類和派生類能訪問

  private:只能該類訪問

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

  3. 大量數(shù)據(jù)(如3000萬條數(shù)據(jù))并發(fā)處理時,有哪幾種機制

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

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

  4. String/StringBuilder的異同

  string是一個不可變的數(shù)據(jù)類型,一旦對字符串對象進行了初始化,該字符串對象就不能改變了。修改字符串內容的方法

  和運算符實際上是創(chuàng)建一個新的字符串.

  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;

  str.Append( "b" );

  str.ToString()和str1.ToString()都是"ab"。

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

  str=null,聲明而不分內存空間,str=""聲明而分內存空間

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

  Singleton模式包含的角色只有一個,就是Singleton。Singleton擁有一個私有構造函數(shù),確保用戶無法通過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 = Singleton.Instance();

  Singleton s2 = Singleton.Instance();

  if( s1 == s2 )

  Console.WriteLine( "The same instance" );

  }

  }

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

  QueryString, response.Redirect(), session, server.Transfer

  8. 解釋重載/覆蓋

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

  Web服務是利用SOAP在HTTP上執(zhí)行遠程方法調用的一種新方法。

  UDDI的含義:統(tǒng)一描述發(fā)現(xiàn)和集成(UDDI)提供一種發(fā)布和查找服務描述的方法。

  10.虛函數(shù)/抽象函數(shù)各自的定義

  虛函數(shù):由virtual聲明,它允許在派生類中被重寫,要重寫方法,必須先聲名為virtual

  public class myclass

  {

  public virtual int myint()

  {

  函數(shù)體;

  }

  }

  class myclass1:myclass

  {

  public override int myint()

  {

  函數(shù)體1;

  }

  }

  抽象類、抽象函數(shù):由abstract聲明,在抽象類中可以定義抽象方法,抽象方法基本沒有執(zhí)行代碼,派生類必須重寫它,提供其執(zhí)行代碼

  public abstract class myclass

  {

  public abstract int myint();

  }

  public class myclass1:myclass

  {

  public override int myint()

  {

  函數(shù)體;

  }

  }

  c#經(jīng)典筆試題篇2

  1.接口和類的異同

  接口類:由interface聲明,是特殊的抽象類,是方法、屬性、事件和索引符的組合,沒有字段,其成員無執(zhí)行方式,無構造函數(shù),不允許進行運算符重載,接口和它的成員沒有任何訪問修飾符,它總是公共的,不能聲明為虛擬或靜態(tài),繼承自接口的派生類必須實現(xiàn)接口中的所有方法

  interface Imyinterface

  {

  void myfunction();

  string name

  {

  get;

  set;

  }

  }

  class myclass:Imyinterface

  {

  void myfunction()

  {

  函數(shù)體;

  }

  string name

  {

  get

  {

  return name;

  }

  set

  {

  name=value;

  }

  }

  }

  接口是負責功能的定義,項目中通過接口來規(guī)范類,操作類以及抽象類的概念!

  而類是負責功能的具體實現(xiàn)!

  在類中也有抽象類的定義,抽象類與接口的區(qū)別在于:

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

  但接口是一個行為的規(guī)范,里面的所有東西都是抽象的!

  一個類只可以繼承一個基類也就是父類,但可以實現(xiàn)多個接口

  2.property/assembly區(qū)別

  3.DataReader/DataSet區(qū)別

  dataset表示一個數(shù)據(jù)集,是數(shù)據(jù)在內存中的緩存。 可以包括多個表

  DatSet 連接數(shù)據(jù)庫時是非面向連接的。把表全部讀到Sql中的緩沖池,并斷開于數(shù)據(jù)庫的連接

  datareader 連接數(shù)據(jù)庫時是面向連接的。讀表時,只能向前讀取,讀完數(shù)據(jù)后有用戶決定是否斷開連接。

  4.using/new各自的意義

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

  5.一列數(shù)的規(guī)則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數(shù)是多少, 用遞歸算法實現(xiàn)

  public class MainClass

  {

  public static void Main()

  {

  Console.WriteLine(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#中的委托是什么?事件是不是一種委托?

  委托可以把一個方法作為參數(shù)代入另一個方法。

  委托可以理解為指向一個函數(shù)的引用。

  是,是一種特殊的委托

  7.override與重載的區(qū)別

  重載是方法的名稱相同。參數(shù)或參數(shù)類型不同,進行多次重載以適應不同的需要

  Override 是進行基類中函數(shù)的重寫

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

  QueryString、FormsAuthentication,Server.Transfer

  9.請編程遍歷頁面上所有TextBox控件并給它賦值為string.Empty?

  foreach (System.Windows.Forms.Control control in this.Controls)

  {

  if (control is System.Windows.Forms.TextBox)

  {

  System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ;

  tb.Text = String.Empty ;

  }

  }

  foreach (System.Windows.Forms.Control controlinthis.Controls)

  {

  if (controlis System.Windows.Forms.TextBox)

  {

  System.Windows.Forms.TextBox tb = controlas System.Windows.Forms.TextBox ;

  if(tb!=null)

  {

  tb.Text = String.Empty ;

  }

  }

  }

  10.請編程實現(xiàn)一個冒泡排序算法?

  int [] array = new int [*] ;

  int temp = 0 ;

  for (int i = 0 ; i < array.Length - 1 ; i++)

  {

  for (int j = i + 1 ; j < array.Length ; j++)

  {

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

  {

  temp = array[i] ;

  array[i] = array[j] ;

  array[j] = temp ;

  }

  }

  }

  c#經(jīng)典筆試題篇3

  1.描述一下C#中索引器的實現(xiàn)過程,是否只能根據(jù)數(shù)字進行索引?

  可以用任意類型

  C#中的索引器通常用于索引數(shù)組,樓上的THIS就是索引器了。

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

  索引器和返回值無關

  class A

  {

  int[] i=new int[10];

  publib int this[int v]

  {

  return i[v];

  }

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

  if(m%2 == 1){

  S = (m + 1) / 2;

  } else {

  S = -m / 2;

  }

  int Num = this.TextBox1.Text.ToString() ;

  int Sum = 0 ;

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

  {

  if((i%2) == 1)

  {

  Sum += i ;

  }

  else

  {

  Sum = Sum - I ;

  }

  }

  System.Console.WriteLine(Sum.ToString());

  System.Console.ReadLine() ;

  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()

  {

  Console.WriteLine("x={0},y={1}",x,y);

  }

  }

  當使用new B()創(chuàng)建B的實例時,產生什么輸出? X=1,Y=0;x= 1 y = -1

  4..什么叫應用程序域?

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

  5.CTS、CLS、CLR分別作何解釋?

  CTS:通用語言系統(tǒng)。CLS:通用語言規(guī)范。CLR:公共語言運行庫。

  6.什么是裝箱和拆箱?

  從值類型接口轉換到引用類型裝箱。從引用類型轉換到值類型拆箱。

  7.什么是受管制的代碼?

  unsafe:非托管代碼。不經(jīng)過CLR運行。

  8.什么是強類型系統(tǒng)?

  RTTI:類型識別系統(tǒng)。

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

  程序集。(中間語言,源數(shù)據(jù),資源,裝配清單)

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

  1.使用WSDL.exe命令行工具。

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

3169989