Microsoft.FSharp.Core 命名空間 (F#)
此命名空間包含的功能可支援核心 F# 功能,包括語言基本型別、運算子、屬性、基本型別、字串和格式化 I/O。
命名空間/模組路徑:Microsoft.FSharp.Core
組件:FSharp.Core (在 FSharp.Core.dll 中)
namespace Microsoft.FSharp.Core
模組
模組 |
說明 |
---|---|
不需開啟模組或命名空間,即可使用額外的 F# 運算子和型別。 |
|
與 F# 語言相關聯的語言基本型別 |
|
提供常值的預設實作的 F # 數值常值語法 fo 表單 'dddI'。 |
|
模組 Operators |
基本 F# 運算子。 這個模組會自動在所有 F# 程式碼中開啟。 |
實作模組,用來保存函式值引動過程的一些私用實作。 |
|
模組 Option |
選項的基本作業。 |
模組 Printf |
數字和其他資料型別的可延伸 printf 樣式格式。 |
模組 String |
用於進行字串處理的功能程式設計運算子。 更多的字串作業可透過字串上的成員函式以及 String 和 Regex 型別上的其他功能取得。 |
型別定義
型別 |
說明 |
---|---|
型別 [,,,]<'T> |
四維陣列,一般是以零為起始。 不以零為起始的陣列可以透過在 System.Array 型別上使用方法來建立。 |
型別 [,,]<'T> |
三維陣列,一般是以零為起始。 不以零為起始的陣列可以透過在 System.Array 型別上使用方法來建立。 |
型別 [,]<'T> |
二維陣列,一般是以零為起始。 |
型別 []<'T> |
單一維度、 以零起始陣列,寫入 int[]、 string[]等等。 |
將這個屬性加入至類別定義,會將類別變成抽象類別,這表示不需要實作這個類別的所有方法。 您可能無法直接建構抽象類別的執行個體。 |
|
將這個屬性加入至型別,就可在 F# 程式碼內將 'null' 常值用於此型別。 這個屬性只能加入至 F# 定義的類別或介面型別。 |
|
這個屬性有兩種用途。 套用至組件時,必須指定字串引數給這個屬性,且這個引數必須表示該組件中的有效模組或命名空間。 以這個組件的參考所編譯的原始程式碼檔,會在自動開啟所指定路徑的環境中受到處理。 |
|
將這個屬性加入至值為 'false' 的型別,會停用 F# 預設將型別變成 Serializable 的行為。 |
|
型別 byref<'T> |
表示 F# 程式碼中的 Managed 指標。 |
具有 7 個選項之現用模式的 Helper 型別。 |
|
具有 6 個選項之現用模式的 Helper 型別。 |
|
具有 5 個選項之現用模式的 Helper 型別。 |
|
具有 4 個選項之現用模式的 Helper 型別。 |
|
具有 3 個選項之現用模式的 Helper 型別。 |
|
具有 2 個選項之現用模式的 Helper 型別。 |
|
將這個屬性加入至型別,會導致使用 CLI 類別來表示該型別。 |
|
將這個屬性 (Attribute) 加入至具有事件類型的屬性 (Property),會透過 'add_EventName' 和 'remove_EventName' 方法組的語法轉譯編譯為 CLI 中繼資料事件。 |
|
這個屬性用來表示只有當泛型引數也滿足 F# 'comparison' 條件約束時,泛型容器型別才滿足此條件約束。 例如,將這個屬性加入至型別定義 C<'T> 上的參數 'T,表示只有在型別 X 也支援比較,而且也符合讓 C<X> 支援比較的所有其他條件時,型別 C<X> 才支援比較。 型別 C<'T> 仍可搭配其他型別引數使用,但 C<(int -> int)> 之類的型別不會支援比較,因為型別 (int -> int) 是 F# 函式型別且不支援比較。 |
|
F# 編譯器會自動產生這個屬性以標記函式和成員,這些函式和成員接受其部分引數的局部應用程式,以及傳回剩餘函式。 |
|
F# 編譯器會在產生的 CLI 程式中自動插入這個屬性來標記型別和方法,以用旗標表示與來源建構之間的對應關係。 Microsoft.FSharp.Reflection 命名空間中的函式會使用這個屬性,將編譯的建構反轉對應至其原始形式。 不是要讓您在使用者程式碼中使用。 |
|
這個屬性用來調整型別的執行階段表示。 例如,它可以用來指明型別可以使用 null 表示。 這會影響某些建構的編譯方式。 |
|
表示 F# 型別或成員之已編譯表示的一個或多個調整。 |
|
F# 編譯器會自動插入這個屬性來標記具有 'CompiledName' 屬性的方法。 不是要讓您在使用者程式碼中使用。 |
|
將這個屬性加入至 F# 模組中的值或函式定義,會變更用於已編譯 CLI 程式碼中之值的名稱。 |
|
表示當 F# 原始程式碼使用這個建構時應該發出訊息。 |
|
將這個屬性加入至型別,會表示這個型別具有使用者定義的比較實作。 |
|
將這個屬性加入至型別,會表示這個型別具有使用者定義的等號比較實作。 |
|
十進位數字的型別,以測量單位標註。 在編譯後的程式碼中,以及使用反映分析此型別的值時,都會清除測量單位。 型別在表示上是等於 System.Decimal。 |
|
將這個屬性加入至值為 false 的差別等位,會停止針對為該型別產生的 CLI 類別,產生標準 Helper 成員測試者、建構函式和存取子成員。 |
|
將這個屬性加入至欄位宣告即表示該欄位未初始化。 在型別檢查期間,會以判斷提示的方式宣告條件約束,表示欄位型別支援 'null'。 如果 'check' 值為 false,則不會以判斷提示的方式宣告條件約束。 |
|
將這個屬性加入至函式,會表示這個函式是應用程式的進入點。 如果這個 Absent 未指定給 EXE,則編譯序列中最後一個檔案內模組繫結的隱含初始設定會做為進入點。 |
|
這個屬性用來表示只有當泛型引數也滿足 F# 'equality' 條件約束時,泛型容器型別才滿足此條件約束。 例如,將這個屬性加入至參數 'T on a type definition C<'T>,表示如果型別 X 也支援等號比較而且也符合讓 C<X> 支援等號比較的所有其他條件,則型別 C<X> 才支援等號比較。 型別 C<'T> 仍可搭配其他型別引數使用,但 C<(int -> int)> 之類的型別不會支援等號比較,因為型別 (int -> int) 是 F# 函式型別且不支援等號比較。 |
|
這個屬性是用來標記屬於實驗程式庫功能一部分的值。 |
|
浮點數值型別,以測量單位標註。 在編譯後的程式碼中,以及使用反映分析此型別的值時,都會清除測量單位。 型別在表示上是等於 System.Double。 |
|
浮點數值型別,以測量單位標註。 在編譯後的程式碼中,以及使用反映分析此型別的值時,都會清除測量單位。 型別在表示上是等於 System.Single。 |
|
CLI 型別,用來表示 F# 函式值。 通常不會直接使用這個型別,而是會在其他 CLI 語言中使用。 |
|
這個屬性會加入至產生的組件,表示在已編譯 F# 程式庫中附加的資源當中編碼其他 F# 特有資訊時,所使用的資料結構描述版本。 |
|
CLI 型別,用來表示 F# 第一級型別函式值。 這個型別是供已編譯的 F# 程式碼使用。 |
|
型別 FuncConvert |
Helper 函式,用於將 F# 第一級函式值與使用委派之函式的 CLI 表示互相轉換。 |
將這個屬性加入至具有泛型參數的非函式值,表示使用建構會透過型別推斷而產生泛型程式碼。 |
|
型別 ilsigptr<'T> |
這個型別是供 F# 程式碼產生器內部使用。 |
32 位元帶正負號整數型別,以測量單位標註。 在編譯後的程式碼中,以及使用反映分析此型別的值時,都會清除測量單位。 型別在表示上是等於 System.Int32。 |
|
16 位元帶正負號整數型別,以測量單位標註。 在編譯後的程式碼中,以及使用反映分析此型別的值時,都會清除測量單位。 型別在表示上是等於 System.Int16。 |
|
64 位元帶正負號整數型別,以測量單位標註。 在編譯後的程式碼中,以及使用反映分析此型別的值時,都會清除測量單位。 型別在表示上是等於 System.Int64。 |
|
將這個屬性加入至型別,會導致使用 CLI 介面來表示該型別。 |
|
將這個屬性加入至值,會導致將該值當做 CLI 常值來編譯。 |
|
將這個屬性加入至型別,會導致該型別被解譯為已精簡的型別,目前受限於測量參數化型別。 這只能在相當受限的情況下使用。 |
|
將這個屬性加入至型別,會導致該型別被解譯為測量單位。 這只能在相當受限的情況下使用。 |
|
表示 F# 程式碼中的 Unmanaged 指標。 |
|
將這個屬性加入至型別,表示在此型別中比較作業是異常作業。 這表示該型別未滿足 F# 'comparison' 條件約束。 在 F# 型別系統的界限內,這有助於確定未在這個型別上直接執行個體化 F# 泛型比較函式。 此屬性與檢查動作不會限制與此型別的基底或子型別進行比較。 |
|
這個屬性是用來標記不可在執行階段動態叫用的值。 這一般是加入至內嵌函式,且這些內嵌函式的實作包含無法驗證的程式碼。 這會發出方法主體供內嵌函式在被動態叫用時引發例外狀況,而不是在產生的組件中加入無法驗證的程式碼。 |
|
將這個屬性加入至型別,表示在此型別中等號比較作業為異常作業。 這表示型別未滿足 F# 'equality' 條件約束。 在 F# 型別系統的界限內,這有助於確定未在這個型別上直接執行個體化 F# 泛型相等函式。 此屬性與檢查動作不會限制與此型別的基底或子型別進行比較。 |
|
型別 Option<'T> |
選擇性值型別。 其他 CLI 語言使用時,空白的選項會是 null 值。 |
對於所有選擇性引數,都會自動加入這個屬性。 |
|
格式運算式型別。 |
|
格式運算式型別。 |
|
型別 Ref<'T> |
可變動參考型別。 使用函數 [: =] 和 [!] 來取得和設定這種類型的值。 |
將這個屬性加入至記錄或等位型別,會停用自動產生該型別之 'System.Object.Equals(obj)'、'System.Object.GetHashCode()' 和 'System.IComparable' 的覆寫。 型別預設會使用參考相等。 |
|
將這個屬性加入至 let 繫結以便定義最上層值,會讓實作這個值的引號運算式可放在執行階段使用。 |
|
這個屬性用來表示若要參考模組、記錄或等位型別的項目,需要明確的合格存取權。 |
|
將這個屬性加入至型別、值或成員,會要求在使用建構時必須明確執行個體化任何泛型型別參數。 |
|
8 位元帶正負號整數型別,以測量單位標註。 在編譯後的程式碼中,以及使用反映分析此型別的值時,都會清除測量單位。 型別在表示上是等於 System.SByte。 |
|
將這個屬性加入至類別定義會將類別變成密封類別,這表示不可擴充或實作這個類別。 |
|
表示 CLI 程式庫中已編譯的實體與 F# 原始程式碼中的項目之間的關聯性。 |
|
將這個屬性加入至型別,會導致使用 CLI 結構來表示該型別。 |
|
將這個屬性加入至記錄、等位、例外狀況或結構型別,會確認要自動產生型別之 'System.IComparable' 的實作。 |
|
將這個屬性加入至記錄、等位或建構型別,會確認要自動產生型別之 'System.Object.Equals(obj)' 和 'System.Object.GetHashCode()' 的覆寫。 |
|
使用 '%A' printf 格式模式和其他二維文字型顯示配置時,這個屬性 (Attribute) 用來標記型別的預設顯示方式。 在這一版的 F# 中,有效值的格式僅限於 PreText {PropertyName} PostText。 屬性 (Property) 名稱表示要評估及顯示的屬性,而非物件本身。 |
|
型別 Unit |
型別 'unit',它只有一個值 "()"。 這是特別的值,一律會使用 'null' 表示。 |
這個屬性用來標記值,使用這些值會導致產生無法驗證的程式碼。 這些值必須標記為 'inline',以確定無法驗證的建構不會存在 F# 程式庫的實際程式碼中,而是會複製至呼叫端的原始程式碼中。 |
|
將這個屬性加入至 F# 可變動的繫結,會導致將 "volatile" 前置詞用於所有對欄位的存取。 |
型別縮寫
型別 |
說明 |
---|---|
型別 array<'T> |
單一維度且以零起始的陣列,撰寫方式為 int[]、string[] 等等。 |
型別 bigint |
任意的大整數, 是 BigInteger 型別的縮寫。 |
型別 bool |
CLI 型別 Boolean 的縮寫。 |
型別 byte |
CLI 型別 Byte 的縮寫。 |
型別 char |
CLI 型別 Char 的縮寫。 |
型別 decimal |
CLI 型別 Decimal 的縮寫。 |
型別 double |
CLI 型別 Double 的縮寫。 |
型別 exn |
CLI 型別 Exception 的縮寫。 |
型別 float |
CLI 型別 Double 的縮寫。 |
型別 float32 |
CLI 型別 Single 的縮寫。 |
格式運算式型別。 |
|
格式運算式型別。 |
|
型別 int |
CLI 型別 Int32 的縮寫。 |
型別 int16 |
CLI 型別 Int16 的縮寫。 |
型別 int32 |
CLI 型別 Int32 的縮寫。 |
型別 int64 |
CLI 型別 Int64 的縮寫。 |
型別 int8 |
CLI 型別 SByte 的縮寫。 |
型別 nativeint |
CLI 型別 IntPtr 的縮寫。 |
型別 obj |
CLI 型別 Object 的縮寫。 |
型別 option<'T> |
選擇性值型別。 其他 CLI 語言使用時,空白的選項會是 null 值。 |
型別 ref<'T> |
可變動參考型別。 使用函數 [: =] 和 [!] 來取得和設定這種類型的值。 |
型別 sbyte |
CLI 型別 SByte 的縮寫。 |
型別 single |
CLI 型別 Single 的縮寫。 |
型別 string |
CLI 型別 String 的縮寫。 |
型別 uint16 |
CLI 型別 UInt16 的縮寫。 |
型別 uint32 |
CLI 型別 UInt32 的縮寫。 |
型別 uint64 |
CLI 型別 UInt64 的縮寫。 |
型別 uint8 |
CLI 型別 Byte 的縮寫。 |
型別 unativeint |
CLI 型別 UIntPtr 的縮寫。 |
型別 unit |
型別 'unit',它只有一個值 "()"。 這是特別的值,一律會使用 'null' 表示。 |
例外狀況
例外狀況 |
說明 |
---|---|
未徹底比較失敗會引發 MatchFailureException 例外狀況 |