c# – .NET中用户创建的结构和框架结构之间的差异

栏目: ASP.NET · 发布时间: 6年前

内容简介:翻译自:https://stackoverflow.com/questions/4268452/differences-between-user-created-structs-and-framework-structs-in-net

为什么C#编译器不允许你编译它:

int a;
Console.WriteLine(a);

但是允许你编译:

MyStruct a;
Console.WriteLine(a);

其中MyStruct定义为:

struct MyStruct
{

}

更新:在第一个案例中错误是:

Error 1 Use of unassigned local  variable ‘a’
C#不允许从未初始化的本地人那里阅读.以下是适用于此背景的 language specification

摘录:

5.3 Definite assignment

A struct-type variable is considered

definitely assigned

if each of its

instance variables is considered

definitely assigned.

显然,由于你的结构没有字段,这不是问题;它被认为是明确分配的.向其添加字段应该会破坏构建.

在一个有点相关的说明:

11.3.8 Constructors
No instance member function can be called until all fields  of the struct being constructed have  been definitely assigned.

翻译自:https://stackoverflow.com/questions/4268452/differences-between-user-created-structs-and-framework-structs-in-net


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高效算法

高效算法

[法] Christoph Dürr、[法] Jill-Jênn Vie / 史世强 / 人民邮电出版社 / 2018-5 / 55.00元

本书旨在探讨如何优化算法效率,详细阐述了经典算法和特殊算法的实现、应用技巧和复杂度验证过程,内容由浅入深,能帮助读者快速掌握复杂度适当、正确率高的高效编程方法以及自检、自测技巧,是参加ACM/ICPC、Google Code Jam 等国际编程竞赛、备战编程考试、提高编程效率、优化编程方法的参考书目。一起来看看 《高效算法》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具