应该使用什么类型来表示C#中的时间?

时间:2015-02-18 08:12:51

标签: c# types

如果我有语法错误,我会事先道歉 - 英语不是我强硬的一面。 :)

我正在尝试在C#中创建一个代码,其中包含2个表示时间的变量:第一个包含小时,第二个包含分钟。

我的问题很简单 - 我应该为这些变量使用什么数据类型?一方面,我应该使用byte,因为小时和分钟介于0255之间,但另一方面 - 我已经读过CPU使用{{1}更好地工作}。那么我应该使用哪一个?

以下是我读过的答案,从CPU性能的角度比较intintWhy should I use int instead of a byte or short in C#

感谢您的协助!

3 个答案:

答案 0 :(得分:2)

TimeSpan struct是在.Net中表示时间的标准方式。 但是,您也可以使用intbyte来表示秒,分钟等。 byte的占地面积比int小,但不应该产生很大的影响。

https://msdn.microsoft.com/en-us/en-en/library/system.timespan(v=vs.110).aspx

答案 1 :(得分:1)

您不需要两个不同的变量。为此,请使用专用的TimeSpan类型。

答案 2 :(得分:1)

这取决于您的系统要求。如果您正在为Windows桌面或服务器开发应用程序,您可能会有大量的RAM。

因此您可以使用System.Int32,因为现代CPU已针对此类型处理进行了优化。

如果您正在为移动平台或嵌入式设备开发应用程序,则可以限制一定量的RAM,其中限制可以是512Mb或1Gb。因此,如果您没有创建数百万个此类对象,则可以再次使用System.Int32

最后,如果要对这些对象进行序列化和反序列化,可以在序列化步骤中将它们转换为System.Byte

相关问题