特黄特色三级在线观看免费,看黄色片子免费,色综合久,欧美在线视频看看,高潮胡言乱语对白刺激国产,伊人网成人,中文字幕亚洲一碰就硬老熟妇

學習啦 > 知識大全 > 知識百科 > 百科知識 > .Net知識點

.Net知識點

時間: 若木632 分享

.Net知識點

  分享如何系統(tǒng)學習.Net/DotNet知識點。從編程語言C#開始,到面向過程,面向對象、 C#高級編程知識、數(shù)據(jù)庫及Ado.Net,網(wǎng)頁請求響應原理,學習開發(fā)Asp.Net。

  需要整理的知識點有:.NET、SQL、JS、CSS、AJAX

  ----------------------------------------------------.NET框架基礎-----------------------------------------------

  什么是CLR? 它包括哪2個部分?

  通用語言運行庫。包含.NET程序的引擎和符合CLI的類庫。

  什么是.NET框架? 就是CLR。

  什么是CLI?

  通用語言基礎結構,是一份語言和數(shù)據(jù)格式的規(guī)范。

  什么是CTS?

  通用類型系統(tǒng),定義了能夠在CLR上運行的語言規(guī)范。

  什么是CLS?

  通用語言規(guī)范,定義了所有.NET程序需要符合的最小規(guī)范集。

  .NET程序開發(fā)所需的最基本環(huán)境?

  一個文字編輯器和針對編碼語言的編譯器。

  運行.NET程序需要什么? .NET Framework組件。

  什么是程序集、應用程序域? 程序集:模塊與資源文件的集合。 應用程序域:類似于OS的進程,提供代碼運行范圍、錯誤隔離和安全設置隔離的邏輯單元,其創(chuàng)建和開銷較進程小。

  .NET的運行機制是什么? (1)編譯C#代碼

  (2)把代碼編譯成中間語言,并包裝成裝配件 (3)通過JIT將裝配件編譯成機器碼

  什么是程序集強簽名?它有哪四個元素來唯一區(qū)別。 是一個帶有公鑰和數(shù)字簽名的程序集。

  四個元素是:文件名、版本號、語言文化和公鑰。

  -------------------------------------------------C# .NET語法基礎--------------------------------------------- 什么是虛方法?

  子類可以用override關鍵字來覆蓋父類方法,實現(xiàn)該方法的另一種功能實現(xiàn)。

  new關鍵字的作用?

  顯示隱藏從父類繼承的成員,目的是將一個方法替換成另一個方法。

  如何使得一個類不被繼承? 用sealed關鍵字修飾此類

  什么是裝箱和拆箱?裝箱的作用?

  裝箱就是將值類型轉換為引用類型Object,使得值類型可以存儲在垃圾回收堆中 拆箱就是將引用類型轉換為值類型

  常用的值類型有哪些?

  結構 枚舉 整型 浮點型 布爾型

  關鍵字ref的作用? 無

  泛型ArrayList的好處是什么?(不全)

  ·定義了針對某個類型的容器類ArrayList的泛型集合,就能避免數(shù)據(jù)進出容器引發(fā)的大規(guī)模的裝箱和拆箱操作,從而提高系統(tǒng)運行性能。

  .net中所有內建類型的基類是什么?此基類中有哪些方法?其中哪些是虛方法?

  System.Object 其主要方法有Equals() ToString() GetHashCode(),前兩個是虛方法,需要被重寫。

  所有值類型的基類是什么?

  System.ValueType,但也是繼承自System.Object

  值類型和引用類型的區(qū)別?有3點 1、內存分配上

  值類型在堆棧上分配內存空間,引用類型在堆上分配內存空間。 2、賦值時的區(qū)別 對于值類型,變量直接獲得值類型的數(shù)據(jù)副本,對于引用類型,變量獲得的是其對象的引用。 3、類型比較

  對于值類型,直接內容比較,對于引用類型,是引用比較。

  C#中是否有全局變量

  沒有傳統(tǒng)意義的全局變量,c#程序中任何對象數(shù)據(jù)必須屬于某個類型,但是通過公共靜態(tài)變量可以實現(xiàn)全局變量的功能。

  結構和類的區(qū)別是什么,結構適用于那些場合?

  結構是值類型,不具備繼承特性,不能定義虛方法和抽象方法,不能有無參構造函數(shù),不能為成員變量設初值。

  當一個類型僅僅是原始數(shù)據(jù)集合且不需要復雜操作時,定義為結構,因為結構作為值類型,對象內存分配和回收效率相對較高。

  什么是類型的初始化器?Q

  類型的初始化器是指具有和類型相同名字、無參數(shù)無返回的一個static方法。

  C#中方法的參數(shù)可以有哪幾種傳遞方式?Q

  有三個關鍵字可以修飾方法的參數(shù):ref、out、params。

  ref和out是引用傳遞,區(qū)別是ref要求參數(shù)傳遞前必須初始化,而out則不需要; params實現(xiàn)了參數(shù)數(shù)目可變的方法,可以直接傳入變量集合而無需聲明數(shù)組。

  C#中string和String以及object和Object有什么區(qū)別?

  是同一個類型的兩個名字,沒有太多區(qū)別,string是String的別名,object是Object的別名。 但就編碼規(guī)范來說,系統(tǒng)中最好使用一種,要么全用string,要么全用String。

  .NET支持哪幾種訪問性級別,C#實現(xiàn)了其中的哪幾種?

  .NET支持的訪問性級別有6種,分別是Public, Private, Family,Assembly,Family&Assembly, Family or Assembly,C#除了Family&Assembly沒有實現(xiàn),其他都實現(xiàn),相對應的關鍵字是public,private,protected,internal,protect internal

  什么是屬性?它有什么優(yōu)點?它和方法有什么區(qū)別? 屬性是指有返回值無參數(shù)的特殊方法; 優(yōu)點就是屬性具有很好的擴展性。(嘗試舉例p64)

  和方法區(qū)別就是代替了早期的GetXXX/SetXXX方法,方便使用以及使代碼可讀性提高。

  簡述C#中的淺復制和深復制。

  foreach循環(huán)語句和其他循環(huán)語句相比有何優(yōu)點?有何局限?

  foreach循環(huán)語句適合遍歷實現(xiàn)了IEnumberable接口的容器類,但不允許直接修改遍歷項目的值,但可調用其方法來修改,其執(zhí)行效率較高,在開發(fā)中應優(yōu)先考慮使用。

  C#中的using語句有什么作用?

  using語句為實現(xiàn)IDisposable的類對象在using塊結束后,自動調用Dispose()方法釋放資源,相當于一個try/catch塊,相當于一個異常處理塊,所有對象應該在using語句開始后創(chuàng)建對象。

  System.String是值類型還是引用類型?

  是引用類型,其對象初始化后不能再做修改,一旦修改表示一個新字符串的生成。

  StringBuilder類型有何作用?

  當一個字符串被修改、連接等操作,最終生成需經(jīng)過組裝過程,期間會產(chǎn)生很多不需要的臨時字符串對象,大大影響了程序性能,所以用StringBuilder類解決這個問題,一旦此類的ToString()方法被調用時,生成最終字符串對象。

  String和Byte[]之間的互相轉換?(用到哪個類和哪2個方法) Encoding.UTF8.GetBytes(字符串對象);

  Encoding.UTF8.GetString(字節(jié)數(shù)組對象);

  什么是字符串池機制?

  CLR會保留程序中出現(xiàn)過的字符串對象集合,在需要新字符串時在其中查找,找到則返回已有對象引用,致力于改善程序性能。(當然也可以使用StringBuilder類代替String類)

  Int[]是值類型還是引用類型?

  數(shù)組類型是一個類型族,都繼承自System.Array,而System.Array又繼承自System.Object,所以是引用類型。

  C#中類可以有多個父類嗎?可以實現(xiàn)多個接口嗎?

  不能實現(xiàn)多繼承,但可以實現(xiàn)多接口。.NET接口指一系列方法、屬性、索引和事件的簽名。

  簡述C#中重寫、重載和隱藏的概念。 重寫(override):是指子類用Override關鍵字重新實現(xiàn)定義在父類中的虛方法,并在實際運行時根據(jù)對象類型來調用相應的方法。

  隱藏:是指子類用new關鍵字重新實現(xiàn)定義在父類中的方法,但在實際運行時只能根據(jù)引用來調用相應的方法。 重載(overload):擁有相同名字和返回值的方法擁有不同的參數(shù)列表。

  為什么不能在構造函數(shù)中調用虛方法?

  一個類的構造順序是:先初始化成員變量,然后執(zhí)行父類構造函數(shù),然后執(zhí)行自己的構造函數(shù)。也就是說當子類被創(chuàng)建時,現(xiàn)調用父類構造函數(shù),其中含有虛方法,即子類構造函數(shù)中將重寫此虛方法,然而此時子類構造還未完成,則對于為構造的子類成員訪問是錯誤的。

  如何聲明一個類不能被繼承? 用sealed關鍵字

  進行類型判斷時或者類型轉換時如何更高效和避免異常? 用is和as關鍵字。

  什么是泛型?泛型有什么好處?

  泛型允許程序員定義更通用的類型和算法,并且在具體使用時再生成具體類型。 能夠避免容器類的裝箱和拆箱問題。

  什么是泛型的主要和次要約束?

  主要約束指泛型的參數(shù)必須是引用類型,次要約束是指泛型的參數(shù)必須實現(xiàn)的接口。

  什么是STL模板庫?

  是一種通用的、高效的算法、容器和迭代器的集合,有助于程序員更加高效的開發(fā)和節(jié)省時間。

  --------------------------------------------------委托和事件-----------------------------------------------------

  什么是委托?委托有什么優(yōu)點?你什么時候會用到委托。

  委托是一個繼承自System.Delegate的類,每個委托變量都至少綁定了一個方法,當調用委托方法時,就會調用綁定到委托對象上的方法。

  委托使程序更具有擴展性和靈活性,減少類與類之間的耦合度。

  一個叫做stop()的方法要關閉多種電器,當需要添加新電器時不得不修改stop()方法;而用委托只需聲明一個委托變量,將控制某種電器關閉方法綁定到此委托就可以了。

  委托綁定實例方法和靜態(tài)方法有什么區(qū)別?

  委托內部有兩個成員變量,_target和_methodPtr,當綁定實例方法時,_target的值為該方法所在類的實例對象,_methodPtr為該方法;當綁定靜態(tài)方法時,_target則為null。

  什么時鏈式委托?請舉個簡單例子。 就是多點委托。

  public delegate void stopDelegate(); public static void stopTV() {

  Console.WriteLine("關閉電視機"); }

  public static void stopLight() {

  Console.WriteLine("關燈"); }

  public static void stopFan() {

  Console.WriteLine("關電扇"); }

  static void Main(string[] args) {

  stopDelegate stop = stopTV; stopDelegate stop2 = stopLight; stopDelegate stop3 = stopFan;

  stopDelegate stopHead = stop + stop2 + stop3; //鏈表頭 stopHead(); }

  鏈式委托執(zhí)行順序是怎樣的?

  委托結構里有個_prev變量指定鏈表中最后一個委托對象。 用Combine()方法來規(guī)定調用順序。

  鏈式委托的返回值是怎么樣的?

  委托多個有返回值的方法,只返回最后一個方法的返回值。

  什么是事件?舉一個簡單例子。 事件是一種特殊的委托。

  線程:進程中的可以被調度的單元。

  每個進程之間是相互隔離的,而線程之間可以相互訪問。

  什么是纖程?

  是一種輕量級線程。

  在.NET中如何控制線程?

  提供了System.Threading.Thread類型封裝了線程操作。

  什么是線程池?

  相當于一個緩存,以前創(chuàng)建的縣城,當需要一個新線程時,先在里面找是否有相同的,找不到再重新創(chuàng)建,這樣使為了降低系統(tǒng)開銷。

  lock關鍵字作用?

  鎖定某個對象來實現(xiàn)線程同步。

  ---------------------------------------------------文件操作------------------------------------------------- 如何創(chuàng)建一個文件夾?

  System.IO.Directory.CreateDirectory("c:\新建文件夾"); 或

  DirectoryInfo f = new DirectoryInfo("c:"); f.Create();

  如何創(chuàng)建文件,并寫入內容? File.Create("C: class="main">

.Net知識點

時間: 若木632 分享

  File.Create("C: class="main">

.Net知識點

時間: 若木632 分享

  StreamWriter sw=new StreamWriter("c: class="main">

.Net知識點

時間: 若木632 分享

  ----------------------------------------------------asp.net-------------------------------------------------------- get和post請求有什么區(qū)別?

  get是向服務器申請資源的請求,post是向服務器發(fā)送數(shù)據(jù)的請求。 get將數(shù)據(jù)放在url地址后面

  get請求對長度和編碼有限制,post沒有長度限制

  session有哪幾種存儲方式?有何區(qū)別? IIS進程(默認)、狀態(tài)服務器、SqlServer數(shù)據(jù)庫、自定義保存程序 除了默認,其他都需要能夠可序列化的類型數(shù)據(jù)且不易丟失。

  列舉頁面跳轉方式?

  Response.Redirect()、Server.Transfer()、JS腳本

  筆記整理

  AJAX的核心對象是什么?根據(jù)不同瀏覽器寫出創(chuàng)建其對象的代碼? XMLHttpRequest 創(chuàng)建代碼:

  如何強制使程序線程阻塞5秒鐘? System.Threading.Thread.Sleep(5000);

  請描述ADO.NET組成結構? 由數(shù)據(jù)提供程序和數(shù)據(jù)集組成。

  數(shù)據(jù)提供程序包括Connection,Command,DataAdapter,DataReader 數(shù)據(jù)集包括DataSet等。

  如何將查詢結果放入DataSet虛擬表中?

  DataAdapter da=new DataAdapter(“sql語句”,con); DataSet ds=new DataSet(); da.Fill(ds,”虛擬表名”);

  請寫一個分頁存儲過程?

  create proc usp_tablePaged @pageSize int, @pageIndex int as

  with t as ( select row_number() over(order by forumId desc) as RowNo,* from forums

  )

  select * from t

  where RowNo between @pageSize*(@pageIndex-1)+1 and @pageSize*@pageIndex go

  如何將一個數(shù)組參數(shù)添加到SqlCommand參數(shù)集合中? AddRange()方法

  Sql語言中有哪三種分類?(?) TCL:事務控制語言 DDL: DML:

  如何創(chuàng)建表索引?

  Create index index_name on 表(字段)

  set nocount on/off的作用是什么?

  on不返回數(shù)據(jù)操作語句影響的行數(shù),off相反

  如何使實體類能夠被序列化? 使用[Serializable]標記

  請簡述Sql Server中鎖的作用?有哪些類型的鎖? 為了解決多事務并發(fā)所帶來的問題;

  解決丟失更新(一個人更新數(shù)據(jù)后另一個人又更新)、臟讀、不可復讀 鎖的分類有:共享鎖、排他鎖、更新鎖、意向鎖 鎖的管理:樂觀鎖(不用管理)、悲觀鎖(程序員管理、設置事務的隔離級別)

  什么是OOD/OOA?

  如何用sql語句判斷數(shù)據(jù)庫中某個存儲過程是否存在?

  If exsits (select type,name from sys.all_objects where type=’p’ and name=’存儲過程名’) 其中sys.all_objects為數(shù)據(jù)字典

  查詢上一個插入語句的自動增長列號? Select @@identity

  什么是DNS?

  域名解析服務器,用于將域名轉換成其ip地址。

  TCP/IP包括哪些層?每個層的作用有哪些? 應用層:HTTP,FTP,SMTP (端口號) 傳輸層:TCP UDP(指定傳輸協(xié)議) 網(wǎng)絡層:IP(找到IP地址)

  物理層:電氣規(guī)范(定位到物理元件)

  ASP.NET中虛路徑轉實際路徑的方法? Server.MapPath(“images/xx.jpg”)

  如何在頁面上打印html源代碼?(2種) Literal控件,mode屬性值改為Encode。(此控件本身不再頁面產(chǎn)生任何代碼) Server.HtmlEncode(str);

  泛型的原理是什么?泛型有什么作用?寫一個簡單的泛型例子。

  允許程序員定義更通用的類型和算法,并且在具體使用時再生成具體的類型。 泛型可以避免容器類操作中裝箱和拆箱的問題。

  頁面跳轉的2種方式

  Server.Transfer("b.aspx"); --服務器端轉發(fā)(1次請求)

  Response.Redirect("b.aspx"); --客戶端重定向(2次請求)

  全局應用程序中有哪些方法? Session_Start() 和 Session_End()

  什么是HttpHandler?和aspx頁面有什么區(qū)別?

  http處理程序是負責處理請求的aps,net組件,aspx頁面是處理程序的一個實例。

  什么是ORM?簡述其原理。ORM:對象關系映射,是一種為了解決面向對象和關系型數(shù)據(jù)庫存在互不匹配現(xiàn)象的技術,將程序中的對象自動持久化到數(shù)據(jù)庫中。簡單說,就是通過對對象的操作,就可以實現(xiàn)對數(shù)據(jù)訪問的功能。 框架有N

  ORM有哪些框架(持久化框架)?

  NHibernate、Active Record和Linq(MS推出的OR技術)。

  什么是持久化?持久層?

  把數(shù)據(jù)保存在可掉電的存儲設備上。 持久層類似于DAL。

  什么是解耦合?

  降低關聯(lián)的緊密程度,分離業(yè)務邏輯和數(shù)據(jù)邏輯,分離邏輯結構和物理結構,避免因底層結構變動對上層產(chǎn)生較大影響。

  Question

  string[] str = new string[3]; str[0] = "0"; str[1] = "1"; str[2] = "2";

  ArrayList list = new ArrayList(); list.AddRange(str); foreach (string s in list) {

  Console.WriteLine(s); }

  string[] str1 = (string[])(list.ToArray());

  //解決方法:string[] str1 = list.ToArray() as String[] Console.WriteLine(); foreach (string s in str) {

  Console.WriteLine(s.ToString()); }

84014