c# – 未初始化的struct成员是否保证有值?
如果使用初始化列表创建结构,那么您省略的成员是否会获得已知的默认值?
public struct Testing { public int i; public double d; public string s; } Testing test = new Testing { s="hello" }; 我发现微软的一个链接暗示了它,但没有明确说明:Default Values Table (C# Reference). 一个小的测试程序显示它不会生成编译器错误并产生预期的结果.我知道最好不要依靠简单的测试来保证. http://ideone.com/nqFBIZ 解决方法
是的,它们包含默认值(T),其中T是值的类型.
对象引用将为null. 摘抄:
取自这里: http://msdn.microsoft.com/en-us/library/aa664475(v=vs.71).aspx 我记得在研究MOC时,他们明确说明了这一点.这是该语言的保证功能. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |