有了网站怎么做app俄罗斯的最新军事新闻

张小明 2026/3/13 7:50:55
有了网站怎么做app,俄罗斯的最新军事新闻,贵阳专业做网站的公司,安装wordpress 脚本简介 struct 是 值类型#xff08;Value Type#xff09;#xff0c;用于封装一组相关的数据。 与类#xff08;class#xff09;相比#xff0c;结构体通常更轻量#xff0c;适用于小型、短生命周期的对象。 ⚡ 关键特点#xff1a;存储在 栈#xff08;stack#x…简介struct是 值类型Value Type用于封装一组相关的数据。与类class相比结构体通常更轻量适用于小型、短生命周期的对象。⚡ 关键特点存储在 栈stack上也可能嵌套在堆中但本质仍是值类型。按值传递赋值/参数传递时会复制整个结构。无需垃圾回收GC生命周期由作用域决定。可包含字段、属性、方法、构造函数、运算符重载等。基本语法publicstructPoint{publicintX;publicintY;publicPoint(intx,inty){Xx;Yy;}publicvoidMove(intdx,intdy){Xdx;Ydy;}}使用Pointp1newPoint(3,4);p1.Move(1,2);Console.WriteLine(${p1.X},{p1.Y});// 4, 6内存模型与分配分配场景存储位置说明局部变量栈最典型场景生命周期由方法作用域决定作为类字段堆包含在类对象内部但值本身在堆内存中数组元素堆数组本身在堆上每个元素紧密排列即使struct位于堆中例如类字段、数组元素它仍然是值类型操作时是按值复制。与 class 的区别特性class(引用类型)struct(值类型)内存分配堆GC 管理栈/堆中嵌入传递方式按引用传递复制引用按值传递复制整个对象默认构造函数可定义无参/有参系统提供无参构造用户不能定义继承支持继承/虚方法不能继承只能实现接口空值null可以为 null不可为 null除非NullableT装箱/拆箱不涉及赋值给object时会装箱性能分配慢GC分配快生命周期短时更高效构造函数与初始化默认构造函数所有结构体都有一个隐式的无参构造函数将所有字段初始化为 默认值如0、null。用户不能显式定义无参构造函数C# 10开始支持但有限制。自定义构造函数可以定义有参构造函数但必须初始化所有字段。publicPoint(intx,inty){Xx;// 必须全部赋值Yy;}结构体的成员结构体可以包含字段Field属性Property方法Method事件Event运算符重载静态成员构造函数但无参构造受限不支持继承其他类/结构体只能实现接口。明确的析构函数~Destructor。值类型的特性按值传递结构体赋值时会复制整个值Pointp1newPoint(1,2);Pointp2p1;// 复制p2.X99;Console.WriteLine(p1.X);// 1不受 p2 修改影响装箱/拆箱赋值给object或接口时会将结构体复制到堆中PointpnewPoint(1,2);objectobjp;// 装箱复制到堆Pointp2(Point)obj;// 拆箱从堆复制回栈装箱/拆箱会带来性能开销应尽量避免频繁发生。不可变结构体Immutable struct为了避免复制带来的副作用结构体推荐设计为不可变publicreadonlystructPoint{publicintX{get;}publicintY{get;}publicPoint(intx,inty)(X,Y)(x,y);}实现接口publicinterfaceIDrawable{voidDraw();}publicstructCircle:IDrawable{publicdoubleRadius{get;}publicPointCenter{get;}publicCircle(doubleradius,Pointcenter){Radiusradius;Centercenter;}publicvoidDraw(){Console.WriteLine($Drawing circle at{Center}with radius{Radius});}publicdoubleAreaMath.PI*Radius*Radius;}structRectangle:IEquatableRectangle{publicintWidth,Height;publicboolEquals(Rectangleother){returnWidthother.WidthHeightother.Height;}publicoverrideboolEquals(objectobj)objisRectangleotherEquals(other);publicoverrideintGetHashCode()HashCode.Combine(Width,Height);}varr1newRectangle{Width10,Height20};varr2newRectangle{Width10,Height20};Console.WriteLine(r1.Equals(r2));// 输出: True运算符重载示例structPoint{publicintX,Y;publicPoint(intx,inty){Xx;Yy;}publicstaticPointoperator(Pointa,Pointb){returnnewPoint(a.Xb.X,a.Yb.Y);}publicoverridestringToString()$({X},{Y});}varp1newPoint(1,2);varp2newPoint(3,4);varsump1p2;Console.WriteLine(sum);// 输出: (4, 6)结构体的新特性readonly struct表示完全不可变。编译器强制所有字段为readonly。防止无意修改。publicreadonlystructVector{publicreadonlydoubleX;publicreadonlydoubleY;}ref struct只能在栈上分配。用于高性能场景如SpanT。record struct值类型的 记录类型支持内建的值比较、with表达式。publicrecordstructPoint(intX,intY);varp1newPoint(1,2);varp2p1with{X3};// 基于值的复制高级用法与模式匹配结合使用publicstructRGBColor{publicbyteR;publicbyteG;publicbyteB;publicRGBColor(byter,byteg,byteb){Rr;Gg;Bb;}publicvoidDeconstruct(outbyter,outbyteg,outbyteb){rR;gG;bB;}}classProgram{staticstringGetColorName(RGBColorcolor){returncolorswitch{(255,0,0)Red,(0,255,0)Green,(0,0,255)Blue,(255,255,255)White,(0,0,0)Black,_Unknown};}staticvoidMain(){RGBColorrednewRGBColor(255,0,0);Console.WriteLine(GetColorName(red));// 输出: Red}}适用场景✅ 适合轻量级、小数据对象坐标、颜色、矩形、数值容器等。高性能计算避免GC开销。频繁创建销毁的对象。❌ 不适合对象非常大复制开销高。需要继承层次。需要引用语义共享同一对象。如果类型大小超过 16 字节且频繁传递建议使用class而不是struct。实战示例高性能点计算publicreadonlystructPoint{publicreadonlydoubleX;publicreadonlydoubleY;publicPoint(doublex,doubley)(X,Y)(x,y);publicdoubleDistance(Pointother)Math.Sqrt(Math.Pow(X-other.X,2)Math.Pow(Y-other.Y,2));}voidDemo(){Pointp1new(1,2);Pointp2new(4,6);Console.WriteLine(p1.Distance(p2));// 5}无GC压力。值传递保证线程安全。总结特性说明类型值类型Value Type内存分配栈分配或嵌入堆中继承不能继承其他类/结构体只能实现接口构造函数系统提供无参构造用户可定义有参构造默认初始化所有字段自动初始化为默认值传递方式按值传递复制整个对象典型场景小型数据对象Point、Color、高性能计算高级特性readonly struct、ref struct、record struct设计建议尽量保持不可变避免装箱避免过大对象
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设中高低端区别商务网站建设毕业设计

Windows管理工具:WMI与COM对象的深度解析 1. Windows管理规范(WMI)简介 Windows管理规范(WMI)是Windows系统中强大的管理工具,它提供了数千个类,为管理员提供了丰富的系统信息。通过WMI,管理员可以方便地获取和管理计算机系统的各种信息,包括硬件、操作系统、服务等…

张小明 2026/3/5 7:40:56 网站建设

网站推广的六种方式音乐网站可做哪些内容

想要在电商网站上快速集成专业的用户评分和评论功能吗?Start Bootstrap模板库提供了完整的前端解决方案,让你在30分钟内就能搭建出媲美大型电商平台的评价体系。这个开源项目包含数十种精心设计的Bootstrap模板,特别适合技术新手和需要快速交…

张小明 2026/3/5 7:40:57 网站建设

台州网站建设哪家公司好销售人员管理方案

OpenCVSharp实战应用:解锁计算机视觉开发新境界 【免费下载链接】opencvsharp shimat/opencvsharp: OpenCvSharp 是一个开源的 C# 绑定库,它封装了 OpenCV(一个著名的计算机视觉库),使得开发者能够方便地在 .NET 平台上…

张小明 2026/3/5 7:40:57 网站建设

淘宝天猫做网站咨询做网站先做前端好还是先做逻辑

Vite:现代前端构建工具的革命 引言:前端构建工具的演进 在 Vite 出现之前,Webpack 几乎统治了前端构建工具领域。Webpack 通过静态分析依赖关系,将项目中的所有模块打包成少数几个 bundle 文件,这种"打包优先&…

张小明 2026/3/5 7:40:58 网站建设

电子商务网站开发成本本机快速做网站

作为兰亭妙微深耕工业领域的UI设计师,我们始终认为:工业软件界面不是“功能的堆砌”,而是“生产流程的数字化转译”。脱离车间实际的设计都是空谈,这几组落地界面,正是我们“工艺优先”设计理念的实践。一、产线监控界…

张小明 2026/3/5 7:51:40 网站建设