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

用C#表示时间应该使用什么类型?,c#,types,C#,Types,如果我有语法错误,我会提前道歉——英语不是我的强项。:) 我试图用C#创建一个代码,它有两个表示时间的变量:第一个包含小时,第二个包含分钟 我的问题很简单-我应该为这些变量使用什么数据类型?一方面,我应该使用字节,因为小时和分钟介于0和255之间,但另一方面,我已经了解到,使用int时,CPU工作得更好。那么我应该用哪一个呢 下面是我读到的答案,它从CPU性能的角度比较了int和byte: 谢谢你的帮助 TimeSpanstruct是.Net中表示时间的标准方式。 但是,您也可以使用int或by

如果我有语法错误,我会提前道歉——英语不是我的强项。:)

我试图用C#创建一个代码,它有两个表示时间的变量:第一个包含小时,第二个包含分钟

我的问题很简单-我应该为这些变量使用什么数据类型?一方面,我应该使用
字节
,因为小时和分钟介于
0
255
之间,但另一方面,我已经了解到,使用
int
时,CPU工作得更好。那么我应该用哪一个呢

下面是我读到的答案,它从CPU性能的角度比较了
int
byte


谢谢你的帮助

TimeSpan
struct是.Net中表示时间的标准方式。 但是,您也可以使用
int
byte
来表示秒、分钟等<代码>字节的占用空间比
int
小,但不会有太大区别


TimeSpan
struct是.Net中表示时间的标准方式。 但是,您也可以使用
int
byte
来表示秒、分钟等<代码>字节的占用空间比
int
小,但不会有太大区别


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

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

这取决于您的系统要求。如果您正在为Windows桌面或服务器开发一个应用程序,您可以预期您将拥有大量的RAM

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

如果您正在为移动平台或嵌入式设备开发应用程序,那么RAM的数量可能会受到限制,限制可能是512Mb或1Gb。因此,如果您没有创建数百万这样的对象,您可以再次使用
System.Int32


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

这取决于您的系统要求。如果您正在为Windows桌面或服务器开发一个应用程序,您可以预期您将拥有大量的RAM

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

如果您正在为移动平台或嵌入式设备开发应用程序,那么RAM的数量可能会受到限制,限制可能是512Mb或1Gb。因此,如果您没有创建数百万这样的对象,您可以再次使用
System.Int32


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

可能重复,是的,在8位处理器时代之后,使用8位通常不会“更快”。它可能有助于存储,但不利于速度。是的,在过去的8位处理器时代,使用8位通常不会“更快”。它可能对存储有帮助,但对速度没有帮助。我的问题更一般。如果我有一个表示小数字的变量,我应该使用什么数据类型?多谢各位@Sipo这不是你要的。看看你的问题,用C#表示时间应该用什么类型?你是对的。我保证我仍然希望对一般情况有一个答案。英语问题,对不起。:)@Sipo好的,对于一般问题,您需要找到您的号码适合的范围。如果它位于
字节
内,请使用
字节
。如果短,就用短等等。非常感谢你,我的朋友。:)我的问题比较笼统。如果我有一个表示小数字的变量,我应该使用什么数据类型?多谢各位@Sipo这不是你要的。看看你的问题,用C#表示时间应该用什么类型?你是对的。我保证我仍然希望对一般情况有一个答案。英语问题,对不起。:)@Sipo好的,对于一般问题,您需要找到您的号码适合的范围。如果它位于
字节
内,请使用
字节
。如果短,就用短等等。非常感谢你,我的朋友。:)