程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> [C#小知識]C#中一些易混淆概念總結

[C#小知識]C#中一些易混淆概念總結

編輯:C#入門知識

這幾天一直在復習C#基礎知識,過程中也發現了自己以前理解不清楚和混淆的概念。現在給大家分享出來我的筆記:   一,.NET平台的重要組成部分都是有哪些   1)FCL (所謂的.NET框架類庫)   這些類是微軟事先定義好的。   例如當我們新創建一個windows窗體應用程序是,VS會幫我們自動生成下面的代碼:   using System; using System.Collections.Generic; using System.Text; 這些就是微軟事先為程序員定義好的類庫。程序員可以直接使用的。   2)CLR (所謂的公共語言運行時)   創建部署.NET程序的必備環境   使用C#,F#,VB等語言都可以來創建.NET應用程序。這時候就需要一個公共語言規范,來把不同的語言解釋成.NET FramWork認識的東西。   二,什麼是程序集   程序集主要有MSIL組成(所謂的微軟中間語言,主要由dll文件組成)   不同編程語言程序被.NET FrameWork編譯成程序集(dll文件),當程序需要被執行時,通過CLR中的JIT(及時編譯器)編譯成本地代碼,並將指令發送給CPU執行。   程序集一般有兩種:.dll和.exe文件(但是不是所有的dll和exe都叫程序集)   比如:我們在同一個解決方案下,建立多個應用程序或者類庫文件。這些程序或者類庫編譯後就會變成不同的程序集。他們之間是相互獨立的。之間如果想要相互訪問,需要添加引用。   三,Parse轉換和Convert轉換的區別   1)Parse轉換   ①Parse轉換只能轉換字符串   ②自變量是指定的數據類型才可以轉換成功   下面的是.NET Reflector編譯的源代碼       2)Convert轉換   ①可以轉換其他類型(如:類)   ②與Parse的區別就是,轉換前會對被轉換的對象進行判斷,如果對象為null則會轉換失敗       下面是實例源代碼:   復制代碼 class Program     {         static void Main(string[] args)         {             string a = Console.ReadLine();             //Parse只可以轉換字符串             int b = Int32.Parse(a);               //Convert可以轉換類等對象             ParseNumber parNum = new ParseNumber();             //這種寫法編譯器會報錯             //int b = Int32.Parse(parNum);             int c = Convert.ToInt32(parNum);               Console.WriteLine(b);             Console.WriteLine(b.GetType());                 Console.ReadKey();         }     }       class ParseNumber     {         private int nunm;         public int Num { get; set; }     } 復制代碼     四,數據類型的存儲位置   1)存儲在棧中的數據類型   所有數值類型,char,bool,枚舉,結構體   2)存儲在堆中   string,數組,類   管這些類型,他們的變量的聲明都是保存在棧裡,真實的對象保存在堆裡面,棧裡面的變量存儲打的是對象的地址。       下面以數組來簡單說一下這個問題:          //聲明一個一維數組             int[] arr = new int[4]; 那麼這個表達式的執行順序是什麼呢?   ①首先程序會在棧中開辟一段名為arr的int[]類型的空間   ②然後在堆中開辟一個int[]對象,再該對象中會有4塊連續的內存空間   ③堆中的對象返回類型為地址,即new  int[4]表達式返回的是地址

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved