在.net中,哪一种是更快的数据类型?在c#中,哪一种是更快的数据类型?
大家好首先我很抱歉,因为我的第一语言不是英语 我想知道哪一种是更快的C#数据类型还是.net数据类型 我试图通过下面的代码来理解,我认为.net数据类型更快(这是正确的吗?) 我在x86和x64平台上测试了这段代码在.net中,哪一种是更快的数据类型?在c#中,哪一种是更快的数据类型?,c#,.net,C#,.net,大家好首先我很抱歉,因为我的第一语言不是英语 我想知道哪一种是更快的C#数据类型还是.net数据类型 我试图通过下面的代码来理解,我认为.net数据类型更快(这是正确的吗?) 我在x86和x64平台上测试了这段代码 SW.Start(); for (Int32 i = 0; i < 99999; i++) { for (Int32 j = 0; j < 999; j++)
SW.Start();
for (Int32 i = 0; i < 99999; i++)
{
for (Int32 j = 0; j < 999; j++)
{
Int32 a = 37;
Int32 b = 37;
Double c = Math.Pow(a, b);
String d = "abcde";
String e = "abcde";
String f = d + e;
}
}
Console.WriteLine(SW.Elapsed.TotalMilliseconds);
SW.Stop();
Console.ReadKey();
SW.Start();
对于(Int32 i=0;i<99999;i++)
{
对于(Int32 j=0;j<999;j++)
{
int32a=37;
int32b=37;
双c=数学功率(a,b);
字符串d=“abcde”;
字符串e=“abcde”;
字符串f=d+e;
}
}
Console.WriteLine(SW.eassed.total毫秒);
SW.Stop();
Console.ReadKey();
还有我的第二个密码
Stopwatch SW = new Stopwatch();
SW.Start();
for (int i = 0; i < 99999; i++)
{
for (int j = 0; j < 999; j++)
{
int a = 37;
int b = 37;
double c = Math.Pow(a, b);
string d = "abcde";
string e = "abcde";
string f = d + e;
}
}
Console.WriteLine(SW.Elapsed.TotalMilliseconds);
SW.Stop();
Console.ReadKey();
秒表SW=新秒表();
SW.Start();
对于(int i=0;i<99999;i++)
{
对于(int j=0;j<999;j++)
{
INTA=37;
int b=37;
双c=数学功率(a,b);
字符串d=“abcde”;
字符串e=“abcde”;
字符串f=d+e;
}
}
Console.WriteLine(SW.eassed.total毫秒);
SW.Stop();
Console.ReadKey();
非常感谢
int
是Int32
的别名。
long
用于Int64
C#是一种.NET语言。没有“C#type”和“.NET type”这样的东西;所有C#类型也都是.NET类型
Stopwatch
对于这样的短时间运行代码的基准测试是无用的;改用类似的方法。这应该证明在发布的代码片段中没有区别,因为int
和Int32
是相同的类型(正如double
和double
,string
和string
等)。int
是System.Int32
的语法糖。您可以删除所有这些类型-实际上,我使用EditorConfig这样做,它们被标记为警告,我可以快速将它们转换为系统类型。不知道他们为什么要把它们放进去。它的工作原理不像——它是编译器中的别名。int是Int32。