簡介
(一)它的目的是防止變量被垃圾回收器生定位。fixed語句隻能出現在不安全的上下文中。Fixed還可用于創建固定大小的緩沖區。
fixed語句設置指向托管變量的指針并在執行期間“釘住”該變量。如果沒有fixed語句,則指向可移動托管變量的指針的作用很小,因為垃圾回收可能不可預知地重定位變量。C#編譯器隻允許在fixed語句中分配指向托管變量的指針。
示例
// statements_fixed.cs// compile with: /unsafeusing System;class Point{ public int x, y; }class FixedTest { // Unsafe method: takes a pointer to an int. unsafe static void SquarePtrParam (int* p) { *p *= *p; } unsafe static void Main() { Point pt = new Point(); pt.x = 5; pt.y = 6; // Pin pt in place: fixed (int* p = &pt.x) { SquarePtrParam (p); } // pt now unpinned Console.WriteLine ("{0} {1}", pt.x, pt.y); }}
(二)Fixed函數:按指定的位數進行四舍五入得到文本型的數值,如果其第二個參數是正數是在小數點的右側進行四舍五入,反之在小數點的左側,第三個參數決定其是否用千位分隔符
應用
将數字按指定的小數位數進行取整,利用句号和逗号以十進制格式對該數進行格式設置,并以文本形式返回結果。
注意事項
在 Microsoft Excel 中Numbers的最大有效位數不能超過15位,但decimals可達到127。
如果decimals為負數,則number在小數點左側進行舍入。
如果省略 decimals,則假設其值為2。
如果no_commas為FALSE或被省略,則返回的文本會像通常一樣包含逗号。
使用命令(在 “開始”選項卡上的 “數字”組中,單擊 “數字”旁邊的箭頭,然後單擊“數字”)格式化包含數字的單元格與直接使用函數 FIXED 格式化數字的主要區别在于:函數 FIXED 将其結果轉換成 文本,而用“單元格”命令設置格式的數字仍然是數字。