当前位置: 首页 > news >正文

企业管理系统免费版seo关于网站

企业管理系统免费版,seo关于网站,wordpress 歌,pc端网站建设在C#中#xff0c;unsafe、fixed和checked关键字都是用来控制代码执行和内存访问的。下面我将分别解释这三个关键字的作用。 unsafe unsafe关键字用于声明不安全的代码块。在C#中#xff0c;默认情况下#xff0c;代码是安全的#xff0c;这意味着它遵循.NET的安全规则unsafe、fixed和checked关键字都是用来控制代码执行和内存访问的。下面我将分别解释这三个关键字的作用。 unsafe unsafe关键字用于声明不安全的代码块。在C#中默认情况下代码是安全的这意味着它遵循.NET的安全规则包括对内存的访问控制。使用unsafe关键字可以告诉编译器你了解并信任这段代码即使它可能违反安全规则。 使用unsafe关键字需要满足一些条件 你的项目必须被标记为允许不安全代码通过在项目的属性中设置Allow Unsafe Code。你的代码必须在unsafe代码块中。你必须使用fixed关键字来固定内存块。 fixed fixed 关键字在 C# 中主要用于固定内存地址通常与不安全代码unsafe一起使用。当你在不安全的代码中直接访问内存时使用 fixed 关键字可以确保内存地址在程序运行期间保持不变。 使用 fixed 关键字的主要原因是在垃圾回收过程中垃圾回收器可能会移动内存中的对象。如果一个指针指向一个对象而该对象在垃圾回收过程中被移动那么该指针就会变得无效。通过使用 fixed 关键字你可以告诉垃圾回收器不要移动这个对象从而确保指针始终指向有效的内存地址。 示例 unsafe class Example { int[] array new int[10]; fixed int* ptr stackalloc int[] { 1, 2, 3 }; void Method() { int* p ptr; // 这里的p指向一个固定的内存地址 for (int i 0; i array.Length; i) { *(p i) array[i]; // 将数组的值赋给固定的内存地址 } } } 在这个例子中我们创建了一个固定大小的数组 ptr并在方法 Method 中使用它来修改另一个数组 array 的值。因为 ptr 是用 fixed 关键字声明的所以它指向的内存地址在 Method 执行期间是固定的不会发生位移 checked checked关键字用于在算术运算中控制溢出检查。默认情况下当一个整数运算结果超出了该类型的表示范围时会抛出System.OverflowException异常。使用checked关键字可以强制执行溢出检查并在发生溢出时抛出异常。 示例 下面是一个简单的示例展示了如何使用这三个关键字 class Program { static unsafe void Main(string[] args) { int maxValue int.MaxValue; int* ptr stackalloc int[] { maxValue }; // 创建一个固定大小的数组 fixed (int* p ptr) // 使用fixed关键字固定内存地址 { *(p 1) 0; // 尝试访问超出数组范围的内存这会导致未定义的行为除非使用unsafe代码 } Console.WriteLine(ptr[1]); // 这将输出0因为我们在不安全的代码中修改了内存 } } uint a uint.MaxValue;unchecked {Console.WriteLine(a 3); // output: 2 }try {checked{Console.WriteLine(a 3);} } catch (OverflowException e) {Console.WriteLine(e.Message); // output: Arithmetic operation resulted in an overflow. } 输出: 2 Arithmetic operation resulted in an overflow.如果没有checked那么输出的就是2不会抛出异常也不会提示结果实际上已经超出范围了。导致程序发生一些不可预估的问题 在这个例子中我们创建了一个固定大小的数组并在一个fixed代码块中修改了数组外的内存。因为我们使用了unsafe和fixed关键字所以这是合法的。但请注意试图访问数组外的内存是一种未定义的行为可能会导致程序崩溃或其他不可预测的结果。
http://www.zqtcl.cn/news/537845/

相关文章:

  • 几度设计网站设计制作平板电脑支架
  • 游戏设计 网站上海中企动力做网站多少钱
  • flash 开发的网站网上国网app推广经验
  • pyhton可以做网站吗文章wordpress
  • 省住房城乡建设厅门户网站电子商务网站建设用什么软件
  • 怎么给自己的网站做模版企业网站开发外包
  • 哪家可以做网站东莞网站建设少儿托管
  • 最好的网站建设公司排名生物技术网站开发
  • 网站建设经验大总结不良人网页设计怎么做
  • 宁波市余姚建设局网站学做网站要代码
  • 戴尔公司网站开发的经营目标贵州省铜仁市城乡建设局网站
  • 商务网站建设简答题及答案网站备案 域名证书
  • 网站后门怎么去除贾汪城乡建设局网站
  • 烟台住房和城乡建设厅网站重庆网站界面设计
  • 企业网站推广服务协议html编程语言
  • 上海知名网站建设公司合肥建设云平台证书查询
  • 网站响应度西安哪家公司做的网站好
  • 广州市白云区网站建设维护wordpress如何匹配模板
  • 360网站导航公司地址怎么做seo 优化一般包括哪些内容
  • 龙岗高端建设网站建设南京旅游网页设计
  • 企业网站优化问题wordpress滑动
  • 亳州网站建设费用广东网站建设报价
  • ai生成作文网站驾校网站源码下载
  • icon图标素材下载网站郑州做定制网站的公司
  • 网站建设培训哪家好北京有几个区几个县
  • 县局网站建设招标最新网页游戏传奇
  • 咋么做进网站跳转加群代理记账公司如何寻找客户
  • 可以做pos机的网站app网站建设制作
  • 手机移动端网站影视摄影传媒公司
  • 做化工资讯的网站湖南省做网站的