当前位置:  开发笔记 > 编程语言 > 正文

C# - 如何确保我的所有结构都已初始化?

如何解决《C#-如何确保我的所有结构都已初始化?》经验,为你挑选了0个好方法。

我正在用C#编写一个应用程序,它将进行大量计算.一切都围绕着基本的结构 - 价值.它基本上是一些额外的参数(精度等)的两倍.它必须是一个结构,因为将创建太多的它们来提供堆分配.现在,我需要确保它们都已正确初始化.我不能声明默认的显式构造函数,虽然我提供了默认构造函数,它使用0初始化所有内容,这在我的域中没有意义.

并且没有办法拒绝创建一个实例而不用参数调用我的构造函数...?

基本上我需要的是这个测试通过:

[Test]
public void HowDoesThisStructureInitializeByDefault()
{
   Value v = new Value(); - if this did not compile - it would have been ok!

   Assert.AreEqual(0, v.Val); - passes
   Assert.AreEqual(-1, v.Accuracy); - fails
}

如果没有显式调用构造函数并且仍然访问结构,则抛出异常是可以的,但是检查所有时间都需要花费太多时间.

我现在几乎失去了希望,请帮忙!

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有