1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          C# 面試題集 (19道)

          來源:互聯網轉載 時間:2023-10-25 16:48:18

          1、C# property attribute的區別,他們各有什么用處,這種機制的好處在哪里?

          ???A: property和attribute漢語都稱之為屬性。不過property是指類向外提供的數據區域。而attribute則是描述對象在編譯時或運行時屬性的。這兩者是有本質區別的。參考資料

          ?

          2、講一講你理解的web service,dot net framework中,怎么很好的結合xml?(講概念就行了)

          ??? 從表面上看,Web Service就是一個應用程序,它向外界暴露出一個能夠通過Web進行調用的API。這就是說,你能夠用編程的方法通過Web調用來實現某個功能的應用程序。從深層次上看,Web Service是一種新的Web應用程序分支,它們是自包含、自描述、模塊化的應用,可以在網絡(通常為Web)中被描述、發布、查找以及通過Web來調用??蓴U展的標記語言XML是Web Service平臺中表示數據的基本格式。除了易于建立和易于分析外,XML主要的優點在于它既與平臺無關,又與廠商無關。XML是由萬維網協會(W3C)創建,W3C制定的XML SchemaXSD定義了一套標準的數據類型,并給出了一種語言來擴展這套數據類型。Web Service平臺是用XSD來作為數據類型系統的。當你用某種語言如VB.NET或C#來構造一個Web Service時,為了符合Web Service標準,所有你使用的數據類型都必須被轉換為XSD類型。如想讓它使用在不同平臺和不同軟件的不同組織間傳遞,還需要用某種東西將它包裝起來。這種東西就是一種協議,如 SOAP。

          ?3. C#, Java c++的特點,有什么相同的地方,不同的地方, C#分別從c++java中吸取了他們那些優點?

          A:??? C#看起來與Java有著驚人的相似;它包括了諸如單一繼承,界面,與Java幾乎同樣的語法,和編譯成中間代碼再運行的過程.但是C#與Java有著明顯的不同,它借鑒了Delphi的一個特點,與COM(組件對象模型)是直接集成。
          微軟c#語言定義主要是從C和C++繼承而來的,而且語言中的許多元素也反映了這一點.C#在設計者從C++繼承的可選選項方面比Java要廣泛一些(比如說 structs),它還增加了自己新的特點(比方說源代碼版本定義).

          C#從Java繼承而來的特點

          類:在C#中類的申明與Java很相似。特點看起來與Java相比沒有變化.布爾運算:條件表達式的結果是布爾數據類型,布爾數據類型是這種語言中獨立的一種數據類型.從布爾類型到其他類型沒有直接的轉換過程.布爾常量true和false是C#中的關鍵字.錯誤處理:如Java中那樣,通過拋出和捕捉異常對象來管理錯誤處理過程.內存管理:由底層.NET框架進行自動內存垃圾回收.

          C#從C和C++繼承的特點

          編譯:程序直接編譯成標準的二進制可執行形式.

          結構體:一個C#的結構體與C++的結構體是相似的,因為它能夠包含數據申明和方法.但是,不象C++,C#結構體與類是不同的而且不支持繼承.但是,與Java相同的是,一個結構體可以實現界面.
          預編譯:C#中存在預編譯指令支持條件編譯,警告,錯誤報告和編譯行控制. #error

          C#獨有的特點
          中間代碼:微軟在用戶選擇何時MSIL應該編譯成機器碼的時候是留了很大的余地.微軟公司很小心的聲稱MSIL不是解釋性的,而是被編譯成了機器碼.它也明白許多--如果不是大多數的話--程序員認為Java程序要不可避免的比C編寫的任何東西都要慢.而這種實現方式決定了基于MSIL的程序(指的是用 C#,Visual Basic,"Managed C++"--C++的一個符合CLS的版本--等語言編寫的程序)將在性能上超過"解釋性的"Java代碼.當然,這一點還需要得到事實證明,因為C#和其他生成MSIL的編譯器還沒有發布.但是Java JIT編譯器的普遍存在使得Java和C#在性能上相對相同.象"C#是編譯語言而Java是解釋性的,"之類的聲明只是商業技巧.Java的中間代碼和 MSIL都是中間的匯編形式的語言,它們在運行時或其它的時候被編譯成機器代碼.

          命名空間中的申明:當你創建一個程序的時候,你在一個命名空間里創建了一個或多個類.同在這個命名空間里(在類的外面)你還有可能聲明界面,枚舉類型和結構體.必須使用using關鍵字來引用其他命名空間的內容.
          基本的數據類型:C#擁有比C,C++或者Java更廣泛的數據類型.這些類型是bool, byte, ubyte, short, ushort, int, uint, long, ulong, float, double,和decimal.象Java一樣,所有這些類型都有一個固定的大小.又象C和C++一樣,每個數據類型都有有符號和無符號兩種類型.與 Java相同的是,一個字符變量包含的是一個16位的Unicode字符.C#新的數據類型是decimal數據類型,對于貨幣數據,它能存放28位10 進制數字.

          兩個基本類:一個名叫object的類是所有其他類的基類.而一個名叫string的類也象object一樣是這個語言的一部分.作為語言的一部分存在意味著編譯器有可能使用它--無論何時你在程序中寫入一句帶引號的字符串,編譯器會創建一個string對象來保存它.
          參數傳遞:方法可以被聲明接受可變數目的參數.缺省的參數傳遞方法是對基本數據類型進行值傳遞.ref關鍵字可以用來強迫一個變量通過引用傳遞,這使得一個變量可以接受一個返回值.out關鍵字也能聲明引用傳遞過程,與ref不同的地方是,它指明這個參數并不需要初始值.
          與COM 的集成:C#對Windows程序最大的賣點可能就是它與COM的無縫集成了,COM就是微軟的Win32組件技術.實際上,最終有可能在任何.NET語言里編寫COM客戶和服務器端.C#編寫的類可以子類化一個以存在的COM組件;生成的類也能被作為一個COM組件使用,然后又能使用,比方說, JScript語言子類化它從而得到第三個COM組件.這種現象的結果是導致了一個運行環境的產生,在這個環境里的組件是網絡服務,可用用任何.NET語言子類化.
          索引下標:一個索引與屬性除了不使用屬性名來引用類成員而是用一個方括號中的數字來匿名引用(就象用數組下標一樣)以外是相似的.
          代理和反饋:一個代理對象包括了訪問一個特定對象的特定方法所需的信息.只要把它當成一個聰明的方法指針就行了.代理對象可以被移動到另一個地方,然后可以通過訪問它來對已存在的方法進行類型安全的調用.一個反饋方法是代理的特例.event關鍵字用在將在事件發生的時候被當成代理調用的方法聲明中.

          4. C#可否對內存進行直接的操作?(這可是個難點哦?要注意!)

          A:C#在Unsafe 模式下可以使用指針對內存進行操作, 但在托管模式下不可以使用指針。
          【詳細資料】
          1.在 Visual Studio 開發環境中設置/unsafe(啟用不安全模式)編譯器選項
          打開項目的“屬性”頁。
          單擊“生成”屬性頁。
          選中“允許不安全代碼”復選框。

          2.unsafe關鍵字表示不安全上下文,該上下文是任何涉及指針的操作所必需的。
          可以在類型或成員的聲明中使用 unsafe修飾符。
          因此,類型或成員的整個正文范圍均被視為不安全上下文。例如,以下是用 unsafe 修飾符聲明的方法:
          unsafe static void FastCopy(byte[] src, byte[] dst, int count)
          {
          ??? // Unsafe context: can use pointers here.
          }
          不安全上下文的范圍從參數列表擴展到方法的結尾,因此指針在以下參數列表中也可以使用:
          unsafe static void FastCopy ( byte* ps, byte* pd, int count ) {...}

          還可以使用不安全塊從而能夠使用該塊內的不安全代碼。例如:
          unsafe
          {
          ??? // Unsafe context: can use pointers here.
          }
          若要編譯不安全代碼,必須指定 /unsafe編譯器選項。
          無法通過公共語言運行庫驗證不安全代碼。

          示例

          Code
          //?cs_unsafe_keyword.cs
          //?compile?with:?/unsafe
          using?System;
          class?UnsafeTest
          {
          ????//?Unsafe?method:?takes?pointer?to?int:
          ????unsafe?static?void?SquarePtrParam(int*?p)
          ????{
          ????????*p?*=?*p;
          ????}
          ????unsafe?static?void?Main()
          ????{
          ????????int?i?=?5;
          ????????//?Unsafe?method:?uses?address-of?operator?(&):
          ????????SquarePtrParam(&i);
          ????????console.writeline(i);
          ????}
          }

          ?

          5. Visual C++ 6.0編寫的代碼(unmanaged code),如何在CLR下和其他dot net component結合?

          A:。net 與 Com 互操作?在.net中可以通過添加引用的方式將COM 加載在CLR下,將原有的COM中的類型相應變化為.Net 下可識別的類型

          ?

          6. C#實現以下功能
          ???a?
          產生一個int數組,長度為100,并向其中隨機插入1-100,并且不能重復。
          ???b?
          對上面生成的數組排序,需要支持升序、降序兩種順序

          A a:

          using System;

          public class MainEntry

          {

          ??? public static void Main()

          ??? {

          ???????????? int[] arrayint=new int[100];

          ???????????? Random random=new Random(1);

          ??? ???????? for(int i=1;i<=100;i++)

          ???????????? {??

          ????????????????? int index=random.Next(0,100);

          ????????????????? if(arrayint[index]==0)

          ?????????????????????????? arrayint[index]=i;

          ????????????????? else

          ?????????????????????????? i--;

          ???????????? }

          ???????????? foreach(int i in arrayint)

          ???????????? {

          ????????????????? Console.Write(i);

          ????????????????? Console.Write(""t");

          ???????????? }??

          ??? }

          }


          7。請說明在.net中常用的幾種頁面間傳遞參數的方法,并說出他們的優缺點。

          1查詢字符串。

          優點:簡單易用;資源占用比較少。

          缺點:傳遞數據大小有限制,只能傳遞基本類型的數據,安全性差

          2頁面提交(POST)

          優點安全性高,簡單易用,資源占用多

          缺點:只適合在HTML頁面中使用,傳遞數據多,不能傳遞對象。

          3 Server.Trantfer()

          優點安全性高靈活性強能傳遞復雜的對象

          缺點資源消耗大

          4 Session

          優點安全性高靈活性強能傳遞復雜的對象

          缺點資源消耗大

          5 Appliction

          優點安全性高靈活性強能傳遞復雜的對象

          缺點資源消耗大

          6 Cookie

          缺點大小有限制不能超過4KB 不恩能夠存儲復雜對面


          8。請說明.net中的錯誤處理機制,并舉例

          Try

          {

          ?? //……//

          }

          Catch()

          {

          ?Throw e;

          }

          Finally

          {

          ?Conn.Close();

          }


          9。請說出強名的含義

          對程序集,進行公鑰/私鑰對簽名。稱為強名 ,用名稱,版本,文化,公鑰唯一確定程序集。

          【詳細資料】
          ????強名稱是由程序集的標識加上公鑰和數字簽名組成的。其中,程序集的標識包括簡單文本名稱、版本號和區域性信息(如果提供的話)。強名稱是使用相應的私鑰,通過程序集文件(包含程序集清單的文件,并因而也包含構成該程序集的所有文件的名稱和散列)生成的。Microsoft? Visual Studio? .NET 和在 .NET Framework SDK 中提供的其他開發工具能夠將強名稱分配給一個程序集。強名稱相同的程序集應該是相同的。

          通過簽發具有強名稱的程序集,您可以確保名稱的全局唯一性。強名稱還特別滿足以下要求:

          • 強名稱依賴于唯一的密鑰對來確保名稱的唯一性。任何人都不會生成與您生成的相同的程序集名稱,因為用一個私鑰生成的程序集的名稱與用其他私鑰生成的程序集的名稱不相同。

          • 強名稱保護程序集的版本沿襲。強名稱可以確保沒有人能夠生成您的程序集的后續版本。用戶可以確信,他們所加載的程序集的版本出自創建該版本(應用程序是用該版本生成的)的同一個發行者。

          • 強名稱提供可靠的完整性檢查。通過 .NET Framework 安全檢查后,即可確信程序集的內容在生成后未被更改過。但請注意,強名稱中或強名稱本身并不暗含信任級別,例如由數字簽名和支持證書提供的信任。

          在引用具有強名稱的程序集時,您應該能夠從中受益,例如版本控制和命名保護。如果此具有強名稱的程序集以后引用了具有簡單名稱的程序集(后者沒有這些好處),則您將失去使用具有強名稱的程序集所帶來的好處,并依舊會產生 DLL 沖突。因此,具有強名稱的程序集只能引用其他具有強名稱的程序集。


          10。請列出c#中幾種循環的方法,并指出他們的不同

          A:4種:

          For :使用于確定次數的循環

          Foreach:使用于遍歷的元素只讀

          Do…while: 次數不確定條件隨機變化但至少要保證能被執行一次

          While:次數不確定條件隨機變化

          ?

          11。請指出.net中所有類型的基類

          A: object

          ?

          12。請指出GAC的含義

          A: 全局程序集緩存(Global Assembly Cache)存放共享程序集的文件夾 GAC 中的程序集可被任何項目使用.
          【詳細資料】

          ??? 安裝有公共語言運行庫的每臺計算機都具有稱為全局程序集緩存的計算機范圍內的代碼緩存。全局程序集緩存中存儲了專門指定給由計算機中若干應用程序共享的程序集。
          ??? 應當僅在需要時才將程序集安裝到全局程序集緩存中以進行共享。一般原則是:程序集依賴項保持專用,并在應用程序目錄中定位程序集,除非明確要求共享程序集。另外,不必為了使 COM interop 或非托管代碼可以訪問程序集而將程序集安裝到全局程序集緩存。

          有若干方法可以將程序集部署到全局程序集緩存中:

          • 使用專用于全局程序集緩存的安裝程序。該方法是將程序集安裝到全局程序集緩存的首選方法。

          • 使用 .NET Framework SDK 所提供的名為<?XML:NAMESPACE PREFIX = MSHelp NS = "http://msdn.microsoft.com/mshelp" /> 的開發人員工具。

          • 使用 Windows 資源管理器將程序集拖到緩存中。

          在全局程序集緩存中部署的程序集必須具有強名稱。將一個程序集添加到全局程序集緩存時,必須對構成該程序集的所有文件執行完整性檢查。緩存執行這些完整性檢查以確保程序集未被篡改(例如,當文件已更改但清單未反映此更改時)。

          ?

          13。SQL?SREVER中,向一個表中插入了新數據,如何快捷的得到自增量字段的當前值

          A:Insert tableName values()

          Select @@IDENTITY?????????? 多種方法比較

          ?

          14. 您在什么情況下會用到虛方法或抽象類?它與接口有什么不同?

          A: 如果某個方法可能性在派生類中會被重寫。這時就將該方法寫為虛方法。

          抽象類:是一個類型,與派生類之間的關系是一個“ISA”的關系。用來做基類

          語法:抽象類不能創建對象,類中包括抽象方法和實例方法。

          接口:設計:接口是一個規范,描述了Can do ;與實現類之間是中”LINE A 的關系

          語法接口可以多實現 C#中接口不能包含字段訪問修飾符。
          ??? 接口和類的區別是本質的,類是負責功能的實現,而接口則是負責功能的定義,項目中可以通過實現接口來規范類,操作類,抽象類的概念,從而達到高度的抽象,你也可以稱接口為一個沒有功能的類.

          ?

          15: Override與重載有什么區別?

          A: override 是方法重寫,而overload是方法重載.

          Override 發生在基類與派生類之間,派生類中的方法用override 修飾表示重寫基類中同名的方法,派生類的重寫方法與基類中方法簽名一致,并只能重寫基類中聲明為 abstact , virtual 、override 的方法。

          Overload 發生在同一作用域中,如類域,表示類中的方法的不同版本,實現重載的方法必須方法名稱相同,方法參數列表不同,

          【override修飾符,覆寫一個基類中的方法...重載則是將同名方法重新寫過,達到同名的函數實現不同的功能.從而實現了一個方法有不同的版本.override與重載的本質區別是,加入了override的修飾符的方法,此方法始終只有一個被你使用的方法】

          16:值類型與引用類型有什么區別?

          C# 支持兩種類型:“值類型”和“引用類型”。
          值類型(如 char、int 和 float)、枚舉類型和結構類型。
          引用類型包括類 (Class) 類型、接口類型、委托類型和數組類型。<?XML:NAMESPACE PREFIX = O />

          值類型與引用類型的區別在于值類型的變量直接包含其數據,而引用類型的變量則存儲對象引用。對于引用類型,兩個變量可能引用同一個對象,因此對一個變量的操作可能影響另一個變量所引用的對象。對于值類型,每個變量都有自己的數據副本,對一個變量的操作不可能影響另一個變量。


          示例



          Code
          using?System;?

          class?Class1?

          {?

          ?????public?int?Value?=?0;?

          }?

          class?Test?

          {?

          ?????static?void?Main()?{?

          ?????????int?val1?=?0;?

          ?????????int?val2?=?val1;?

          ?????????val2?=?123;?

          ?????????Class1?ref1?=?new?Class1();?

          ?????????Class1?ref2?=?ref1;?

          ?????????ref2.Value?=?123;?

          ?????????Console.WriteLine("Values:?{0},?{1}",?val1,?val2);?

          ?????????Console.WriteLine("Refs:?{0},?{1}",?ref1.Value,?ref2.Value);?

          ?????}?

          }?

          顯示了這種區別。運行該程序

          ,可見下列輸出:

          Values: 0, 123

          Refs: 123, 123

          ?

          17:怎樣理解靜態變量?

          A:靜態變量屬于類,而不屬于對象,并對所有對象所享,靜態成員在加類的時候就被加載。

          【靜態成員變量是和類相關聯的,可以作為類中"共"有的變量(是一個共性的表現),他不依賴特定對象的存在,訪問的時候通過類名加點操作符加變量名來訪問.】詳細

          ?

          18:向服務器發送請求有幾種方式?

          A:POST?GET?? SOAP??? 比較

          ?

          19DataReaderDataset有什么區別?

          A:DataReader:是只讀的讀取器,在讀取過程中需要與數據源保持連接狀態無緩存

          Dataset:將數據院中的數據緩存在對象中,然后在短開連接可進行讀取與寫入操作
          【參考資料】



          轉載于:https://www.cnblogs.com/jdmei520/articles/1257464.html

          c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...

          2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...

          :喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...

          (資料圖)關于銀行存折丟了怎么辦的知識大家了解嗎?以下就是小編整理的關于銀行存折丟了怎么辦的介紹,希望可以給到大家一些參考,一起來了解下吧!銀行存折不小心不知道遺忘在了哪里,應當怎么辦?到銀行辦理掛失。帶上本人的有效證件(身份證),回憶自己存折里面的存款余額等相關信息。在柜臺辦理掛失時,要用到的哦!柜臺掛失是有時效的,一般是7個工作日左右?;丶夷托牡却,F在也不用擔心自己財產會有損失。到銀行補辦新...

          隨著互聯網的發展,銀行的許多業務正在轉向在線處理?,F在每個銀行都推出了自己的網上銀行,大大方便了客戶調動和使用資金的能力。網上銀行怎么轉賬?網上銀行轉賬的詳細步驟是什么?一起隨小編簡單了解下吧?!?】開通網上銀行后,設置好網上銀行登陸密碼和U盾支付密碼。在網上轉賬前別忘了激活,即登陸網上銀行,輸入銀行卡號、登陸密碼、驗證碼,然后下載安全組件、U盾驅動程序,完成激活后就能正常使用U盾進行轉賬了?!?...

          目前我國貸款的方式有抵押貸款和無抵押貸款,無抵押貸款因為沒有抵押物,所以通常根據客戶的信譽來發放貸款,也就是我們常說的信用貸款。信用貸款的申請相對比較簡單,提供一些必要的材料基本就可以申請通過,那么無抵押貸款5萬需要什么條件?無抵押貸款5萬需要什么條件:1、年齡在18周歲(含)以上,具備完全民事行為能力;2、個人征信良好,近兩年沒有信用卡逾期或套現等不良信用記錄,尤其不能有“連三累六&...

          TOP
          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>