[Framework基礎] 原生型別

摘要:[Framework基礎] 原生型別

 

原生型別

這邊要跟大家分享的是原生型別,原生型別在程式語言中是很多人所關心的,尤其是像JAVA、C/C++等這些型態嚴謹的語言,型別的使用本身就是一們相當大的技術,好的資料結構要配合正確的資料型態,才能發揮用途,在巨量資料的處理上,稍有差池,你和競爭者的伯仲立現當前。而在 .NET Framework 中花花綠綠的各種型態,許多人拿到 Visual Studio 看著範例就複製貼上,只要能認的出來、點的出來的型態就用力用下去,相信你成為"資深"的 .NET 工程師後,也會和我一樣好奇 .NET 中的原生型態有哪些

在 .NET Framework 中包含了很多人一輩子都看不完的的函式、類別、介面還有各種經過優化的型態值。 為了讓型態在各種語言中可以通用, .NET 中的原生型別當然必須做到所謂的「CLS 相容」,CLS我暫且翻譯作「跨語言規範」,Common Language Specification (CLS) 的要求、目的或你也可以當成規範。

 

.NET Framework 的內建型別是 .NET應用程式的重要基礎,.NET 中的型別是要做出:

  • 基本型態、例外
  • 封裝的資料結構
  • 實現資料輸入輸出
  • 型態的資訊要能被存取
  • 能呼叫 .NET Framework 的安全檢查機制
  • 支援資料存取、用戶端圖形界面、伺服器控制等功能

在 .NET Framework 最大的特點莫過於:多到嚇人的介面、類別(包含抽象和實做好的),透過這些基底類別,你可以自由新增更多實用的類別。

 

名稱空間 System

System 是 .NET Framework 最根本最重要的名稱空間,這個名稱空間包含了各種基底型別如: ByteCharArrayInt32String,而這些類型,你又可以用你習慣的語言像是 VB.NET C# 的別名參照到真正的 .NET 原生型別。 

 

下表列出了別名的對應:

分類 類別名稱 描述 Visual Basic 資料型態 C# 資料型態 Managed Extensions for C++ 資料型態 JScript 資料型態
Integer Byte An 8-bit unsigned integer. Byte byte char Byte
    SByte An 8-bit signed integer.

Not CLS-compliant.

SByte

No built-in type.

sbyte signed char SByte
    Int16 A 16-bit signed integer. Short short short short
    Int32 A 32-bit signed integer. Integer int int

-or-

long

int
    Int64 A 64-bit signed integer. Long long __int64 long
    UInt16 A 16-bit unsigned integer.

Not CLS-compliant.

UInt16

No built-in type.

ushort unsigned short UInt16
    UInt32 A 32-bit unsigned integer.

Not CLS-compliant.

UInt32

No built-in type.

uint unsigned int

-or-

unsigned long

UInt32
  UInt64 A 64-bit unsigned integer.

Not CLS-compliant.

UInt64

No built-in type.

ulong unsigned __int64 UInt64
Floating point Single A single-precision (32-bit) floating-point number. Single float float float
    Double A double-precision (64-bit) floating-point number. Double double double double
Logical Boolean A Boolean value (true or false). Boolean bool bool bool
Other Char A Unicode (16-bit) character. Char char wchar_t char
    Decimal A 96-bit decimal value. Decimal decimal Decimal Decimal
    IntPtr A signed integer whose size depends on the underlying platform (a 32-bit value on a 32-bit platform and a 64-bit value on a 64-bit platform). IntPtr

No built-in type.

IntPtr

No built-in type.

IntPtr

No built-in type.

IntPtr
    UIntPtr An unsigned integer whose size depends on the underlying platform (a 32- bit value on a 32-bit platform and a 64-bit value on a 64-bit platform).

Not CLS-compliant.

UIntPtr

No built-in type.

UIntPtr

No built-in type.

UIntPtr

No built-in type.

UIntPtr
Class objects Object The root of the object hierarchy. Object object Object* Object
    String An immutable, fixed-length string of Unicode characters. String string String* String

除了基本的資料型態, 名稱空間 System 還有將近 100 個類別,包含例外、核心概念的應用像gc, System 中也包含很多次級的名稱空間。

 

引用翻譯自 http://msdn.microsoft.com/en-us/library/hfa3fa08(v=VS.71).aspx