国产成人v爽在线免播放观看,日韩欧美色,久久99国产精品久久99软件,亚洲综合色网站,国产欧美日韩中文久久,色99在线,亚洲伦理一区二区

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

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

時(shí)間: 護(hù)托1061 分享

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

  C#是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET Framework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言。下面就由學(xué)習(xí)啦小編為大家介紹一下c#經(jīng)典筆試題的文章,歡迎閱讀。

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

  1. c#中錯(cuò)誤處理機(jī)制有哪些

  CLR提供的結(jié)構(gòu)化錯(cuò)誤處理機(jī)制,用try..catch..finally 捕獲

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

  public:任何類(lèi)和成員都可以訪問(wèn)

  protect:該類(lèi)和派生類(lèi)能訪問(wèn)

  private:只能該類(lèi)訪問(wèn)

  internal:只能在包含它的程序集中訪問(wèn)

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

  存儲(chǔ)過(guò)程或事務(wù).取得最大標(biāo)識(shí)的時(shí)候同時(shí)更新,注意主鍵不是自增量方式.這種方法并發(fā)的時(shí)候是不會(huì)重復(fù)主鍵的,

  取得最大標(biāo)識(shí)要有一個(gè)存儲(chǔ)過(guò)程來(lái)獲取.

  4. String/StringBuilder的異同

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

  和運(yùn)算符實(shí)際上是創(chuàng)建一個(gè)新的字符串.

  stringbuilder分配好內(nèi)存,對(duì)字符串的修改就在賦予stringbuilder實(shí)例的存儲(chǔ)單元中進(jìn)行.

  舉例:

  string的確是不能修改的:

  string str = "a";

  str = "b"//str是被賦值了"b"沒(méi)錯(cuò),但是str里面原來(lái)的string值"a"并沒(méi)有被修改。

  string str = "a";

  string str1 = str;

  str += "b";//此時(shí)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,聲明而不分內(nèi)存空間,str=""聲明而分內(nèi)存空間

  6. 什么是單例模式,寫(xiě)個(gè)運(yùn)用單例模式的類(lèi)

  Singleton模式包含的角色只有一個(gè),就是Singleton。Singleton擁有一個(gè)私有構(gòu)造函數(shù),確保用戶(hù)無(wú)法通過(guò)new直接

  實(shí)例它

  // 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頁(yè)面間傳遞有哪幾種方式

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

  8. 解釋重載/覆蓋

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

  Web服務(wù)是利用SOAP在HTTP上執(zhí)行遠(yuǎn)程方法調(diào)用的一種新方法。

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

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

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

  public class myclass

  {

  public virtual int myint()

  {

  函數(shù)體;

  }

  }

  class myclass1:myclass

  {

  public override int myint()

  {

  函數(shù)體1;

  }

  }

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

  public abstract class myclass

  {

  public abstract int myint();

  }

  public class myclass1:myclass

  {

  public override int myint()

  {

  函數(shù)體;

  }

  }

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

  1.接口和類(lèi)的異同

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

  interface Imyinterface

  {

  void myfunction();

  string name

  {

  get;

  set;

  }

  }

  class myclass:Imyinterface

  {

  void myfunction()

  {

  函數(shù)體;

  }

  string name

  {

  get

  {

  return name;

  }

  set

  {

  name=value;

  }

  }

  }

  接口是負(fù)責(zé)功能的定義,項(xiàng)目中通過(guò)接口來(lái)規(guī)范類(lèi),操作類(lèi)以及抽象類(lèi)的概念!

  而類(lèi)是負(fù)責(zé)功能的具體實(shí)現(xiàn)!

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

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

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

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

  2.property/assembly區(qū)別

  3.DataReader/DataSet區(qū)別

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

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

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

  4.using/new各自的意義

  using引入名稱(chēng)空間或者說(shuō)使用非托管資源new 新建實(shí)例或隱藏父類(lèi)方法

  5.一列數(shù)的規(guī)則如下: 1、1、2、3、5、8、13、21、34...... 求第30位數(shù)是多少, 用遞歸算法實(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#中的委托是什么?事件是不是一種委托?

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

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

  是,是一種特殊的委托

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

  重載是方法的名稱(chēng)相同。參數(shù)或參數(shù)類(lèi)型不同,進(jìn)行多次重載以適應(yīng)不同的需要

  Override 是進(jìn)行基類(lèi)中函數(shù)的重寫(xiě)

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

  QueryString、FormsAuthentication,Server.Transfer

  9.請(qǐng)編程遍歷頁(yè)面上所有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.請(qǐng)編程實(shí)現(xiàn)一個(gè)冒泡排序算法?

  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#中索引器的實(shí)現(xiàn)過(guò)程,是否只能根據(jù)數(shù)字進(jìn)行索引?

  可以用任意類(lèi)型

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

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

  索引器和返回值無(wú)關(guān)

  class A

  {

  int[] i=new int[10];

  publib int this[int v]

  {

  return i[v];

  }

  2.求以下表達(dá)式的值,寫(xiě)出您想到的一種或幾種實(shí)現(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);

  }

  }

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

  4..什么叫應(yīng)用程序域?

  應(yīng)用程序域可以理解為一種輕量級(jí)進(jìn)程。起到安全的作用。占用資源小。

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

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

  6.什么是裝箱和拆箱?

  從值類(lèi)型接口轉(zhuǎn)換到引用類(lèi)型裝箱。從引用類(lèi)型轉(zhuǎn)換到值類(lèi)型拆箱。

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

  unsafe:非托管代碼。不經(jīng)過(guò)CLR運(yùn)行。

  8.什么是強(qiáng)類(lèi)型系統(tǒng)?

  RTTI:類(lèi)型識(shí)別系統(tǒng)。

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

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

  10.常用的調(diào)用WebService的方法有哪些?

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

  2.使用VS.Net中的Add Web Reference菜單選項(xiàng)

3169989