首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 基元類型基礎概念(一):int/Int32/string/String 等價性驗證、四種宣告方式產生相同 IL 代碼

     編輯:關於C語言

常見疑問

  • int 與 Int32 有何不同?
  • string 與 String 有何不同?

四種整數宣告方式


int a = 0;
Int32 b = 0;
int c = new int();
System.Int32 d = new System.Int32();

產生的 IL 代碼完全一致


.method private hidebysig static void Main(string[] args) cil managed
{
  .entrypoint
  .maxstack 1
  .locals init ([0] int32 a, [1] int32 b, [2] int32 c, [3] int32 d)
  IL_0000: nop
  IL_0001: ldc.i4.0
  IL_0002: stloc.0
  IL_0003: ldc.i4.0
  IL_0004: stloc.1
  IL_0005: ldc.i4.0
  IL_0006: stloc.2
  IL_0007: ldc.i4.0
  IL_0008: stloc.3
  IL_0009: ret
}

結論

C# 關鍵字(int、string 等)僅是 FCL 類型(System.Int32、System.String)的編譯器別名,編譯後無任何差異。了解此機制有助於面試與深入理解類型系統,但日常開發使用習慣關鍵字即可。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved