作业帮 > 综合 > 作业

在3D英文版中...Fixed

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/20 17:22:14
在3D英文版中...Fixed
(一)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函数:按指定的位数进行四舍五入得到文本型的数值,如果其第二个参数是正数是在小数点的右侧进行四舍五入,反之在小数点的左侧,第三个参数决定其是否用千位分隔符