如何解决C# 7.2中的结构体性能问题

技术如何解决C# 7.2中的结构体性能问题本篇内容介绍了“如何解决C# 7.2中的结构体性能问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔

本文介绍了关于“如何解决C# 7.2中的结构性能问题”的知识。很多人在实际案件操作中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

在某些使用readonly关键字的情况下,C#编译器会创建该结构的防御副本。虽然这个问题众所周知并有记录,但仍然值得重新审视,因为它与C# 7.2的几个特性有关。in和ref readonly关键字的使用使得这个问题更频繁地发生,readonly结构提供了一个解决方案。

C#中的结构通常用于提高性能,减少分配和销毁内存的开销。然而,潜在的陷阱限制了它们的使用。C# 7.2增加了一个改进的只读结构来解决这个问题。

在以下情况下,C#编译器将创建该结构的副本:

结构不是只读的。

机构变量中使用了readonly修饰符。

调用方法(包括属性)。

如何解决C# 7.2中的结构体性能问题

当x是in参数、ref readonly局部变量或通过readonly引用返回值的方法调用的结果时,同样的规则适用。

public void BadFuncTion(insomstructs){ 0

南x;//编译器创建了一个防御副本。}C# 7.2增加了声明只读结构的可能性,并提供了一种避免创建防御性副本的解决方案。声明为readonly的结构不能有属性设置器,也不能向结构成员赋值。

我们可以通过静态分析来检测防御复制问题。ErrorProne.NET的灵感来自于一个Java静态分析工具——易错性。版本已迁移到。NET由一组罗斯林分析仪组成,它们专注于精度和性能。一些分析器适用于结构,并且可以以Nuget包的形式下载。

这里介绍一下“如何解决C# 7.2中的结构性能问题”的内容。感谢您的阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/118938.html

(0)

相关推荐

  • 去上学用英语怎么说,你怎样去上学,英语.三种表达方式

    技术去上学用英语怎么说,你怎样去上学,英语.三种表达方式表达如下去上学用英语怎么说: How do you go to school? 你怎么去上学?
    How do you get to school? 你怎么去上学?

    生活 2021年10月26日
  • 使用Ubuntu自带远程桌面

    技术使用Ubuntu自带远程桌面 使用Ubuntu自带远程桌面背景
    工作总偶尔需要使用到图形界面调试,对于不支持x11转发的程序无法依靠ssh -X实现,需要借助远程桌面工具。
    常用的平台包括 向日葵

    礼包 2021年11月7日
  • 什么是微软total熔毁漏洞分析和预警?

    技术微软TotalMeltdown漏洞分析预警是怎样的这期内容当中小编将会给大家带来有关微软TotalMeltdown漏洞分析预警是怎样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

    攻略 2021年12月20日
  • imp导入乱码怎么办

    技术imp导入乱码怎么办小编给大家分享一下imp导入乱码怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 在i

    攻略 2021年11月11日
  • 怎么把照片缩小到10k,照片怎么改成10K左右大小

    技术怎么把照片缩小到10k,照片怎么改成10K左右大小把照片改成10K左右大小可以用美图秀秀修改怎么把照片缩小到10k,操作方法如下: 1、打开常用的浏览器,在浏览器搜索栏上输入“美图秀秀”,选着美图秀秀的官方链接。 2

    生活 2021年10月21日
  • 正气宝的功效与作用,麻黄的功效是什么,有什么禁忌

    技术正气宝的功效与作用,麻黄的功效是什么,有什么禁忌麻黄为麻黄科植物草麻黄正气宝的功效与作用、中麻黄或木贼麻黄的干燥草质茎,属于发散风寒药。麻黄主要含麻黄碱、伪麻黄碱、去甲基麻黄碱、去甲基伪麻黄碱、甲基麻黄碱、甲基伪麻黄

    生活 2021年10月27日