有两段代码,请高手比较哪个效率高? 我也感觉是一,显式转换如果成功只是变引用类型并不用格式化内容而二要进行的就不是显式转换了,又占资源又费事,还要进行Reverse 排序 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 事实说话,下面的代码运行一下。结果一样!!!using System;using System.Net;using System.Net.Sockets;namespace temp{ /// <summary> /// Summary description for Class1. /// </summary> class Class1 { /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main(string[] args) { // // TODO: Add code to start application here // UInt16 blocknum; blocknum=0x77ff; Int64 begin,end; Console.WriteLine(blocknum.ToString("X")); begin=System.DateTime.Now.Ticks; short interValue = IPAddress.HostToNetworkOrder((short)blocknum); blocknum = (ushort)interValue; end=System.DateTime.Now.Ticks; Console.WriteLine(end-begin); Console.WriteLine(blocknum.ToString("X")); Console.WriteLine(); UInt16 blocknum2; blocknum2=0X77ff; Int64 begin2,end2; Console.WriteLine(blocknum2.ToString("X")); begin2=System.DateTime.Now.Ticks; Byte[] b_blocknum=BitConverter.GetBytes(blocknum2); Array.Reverse(b_blocknum); blocknum2= BitConverter.ToUInt16(b_blocknum,0); end2=System.DateTime.Now.Ticks; Console.WriteLine(end-begin); Console.WriteLine(blocknum2.ToString("X")); } }}运行结果完全一样!!这就是.net framework的功劳,不过代码一可读性强一些。 提示框不跟随光标移动的问题 c#应用程序登入限制用户重复登入问题讨论......急 如何获取treeview的用户选择的最后个节点中的文本啊? 关于表合并 如何在c#.net中屏蔽掉一些Windows消息 如何计算在一个大矩形中可以排列多少个小矩形 如何用C#代码打开用HTML Help Workshop 编译的CHM帮助文件? 想做一个程序在管理端可以很直观统计主机的cpu、主板等信息 如何在不同窗体实现对同一DataRow进行绑定 这是我刚刚完成的一个程序,主要用作信息稿的录入统计,请大哥哥们给点见意!~ 免费打工~!只为学习c#~! 在C#中进行网络主机字节顺序转换的问题
using System;
using System.Net;
using System.Net.Sockets;namespace temp
{
/// <summary>
/// Summary description for Class1.
/// </summary>
class Class1
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: Add code to start application here
//
UInt16 blocknum;
blocknum=0x77ff;
Int64 begin,end;
Console.WriteLine(blocknum.ToString("X"));
begin=System.DateTime.Now.Ticks;
short interValue = IPAddress.HostToNetworkOrder((short)blocknum);
blocknum = (ushort)interValue;
end=System.DateTime.Now.Ticks;
Console.WriteLine(end-begin);
Console.WriteLine(blocknum.ToString("X"));
Console.WriteLine(); UInt16 blocknum2;
blocknum2=0X77ff;
Int64 begin2,end2;
Console.WriteLine(blocknum2.ToString("X"));
begin2=System.DateTime.Now.Ticks;
Byte[] b_blocknum=BitConverter.GetBytes(blocknum2);
Array.Reverse(b_blocknum);
blocknum2= BitConverter.ToUInt16(b_blocknum,0);
end2=System.DateTime.Now.Ticks;
Console.WriteLine(end-begin);
Console.WriteLine(blocknum2.ToString("X")); }
}
}
运行结果完全一样!!
这就是.net framework的功劳,不过代码一可读性强一些。