fixed

王朝百科·作者佚名  2010-08-28  
宽屏版  字体: |||超大  

(一)fixed语句禁止垃圾回收器重定位可移动的变量。fixed语句只能出现在不安全的上下文中。Fixed还可用于创建固定大小的缓冲区。

fixed语句设置指向托管变量的指针并在statement执行期间“钉住”该变量。如果没有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函数:按指定的位数进行四舍五入得到文本型的数值,如果其第二个参数是正数是在小数点的右侧进行四舍五入,反之在小数点的左侧,第三个参数决定其是否用千位分隔符

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有