首页 > 技术文章 > .Net Core 基础知识

blog-zhaof 2019-11-04 18:24 原文

一、对象生命周期管理

一般的对象,new之后,使用完毕后就会销毁

如果你声明static之后,在作用域下,是不会销毁的

示例:对接第三方时,Token一般会有一个持续时间,那么在第一次获取 Token 后,我们需要保留这个Token,直到它过期后再重新获取。这时,这个Token需要被声明为static

 

二、decimal  float  double区别

参考网址:https://stackoverflow.com/questions/618535/difference-between-decimal-float-and-double-in-net

float和double浮动二进制点类型换句话说,它们代表了这样的数字:

10001.10010110011

二进制数和二进制点的位置都在该值内编码。

decimal是一个浮点小数点类型换句话说,它们代表了这样的数字:

12345.65789

同样,小数点的数量和位置都在值内编码 - 这decimal仍然是浮点类型而不是固定点类型。

需要注意的重要一点是,人类习惯于以十进制形式表示非整数,并期望十进制表示中的精确结果; 并非所有十进制数都可以在二进制浮点中精确表示 - 例如0.1 - 所以如果使用二进制浮点值,实际上会得到0.1的近似值。在使用浮动小数点时,您仍然可以获得近似值 - 例如,将1除以3​​的结果无法准确表示。

至于什么时候使用:

  • 对于“自然精确小数”的值,使用起来很好decimal这通常适用于人类发明的任何概念:财务价值是最明显的例子,但也有其他概念。例如,考虑给予潜水员或滑冰者的分数。

  • 如果读入的性质的更加伪影不能真正测量值准确反正floatdouble更合适。例如,科学数据通常以这种形式表示。在这里,原始值不会以“十进制精度”开头,因此保持“十进制精度”对于预期结果并不重要。浮点二进制点类型比小数点快得多。

 

三、Nuget包管理相关

1.项目可以编译成Nuget包,例如:VRHouse.Core.1.0.0.nupkg

2.放至:C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\VRHouse.Core\1.0.0 下

3.vs2019中,工具——程序包管理设置——Nuget包管理器——程序包源——新增源,将上面的路径加进来

 

推荐阅读