草庐IT

c# - 在 C# 中使用 UInt32 和 Int32 有什么显着的性能差异

我正在将现有应用程序移植到C#并希望尽可能提高性能。许多现有的循环计数器和数组引用被定义为System.UInt32,而不是我会使用的Int32。使用UInt32和Int32有什么显着的性能差异吗? 最佳答案 简短的回答是“不。任何性能影响都可以忽略不计”。正确答案是“视情况而定”。一个更好的问题是,“当我确定不需要符号时,我应该使用uint吗?”您不能就性能给出明确的"is"或“否”的原因是因为目标平台将最终决定性能。也就是说,性能取决于将要执行代码的处理器和可用的指令。您的.NET代码编译为IntermediateLanguag

c# - 在 int 中设置特定位

我需要通过在int值中为每个可能的数据库值设置特定位来屏蔽从数据库中读取的某些字符串值。例如,如果数据库返回字符串“value1”,则位置0的位需要设置为1,但如果数据库返回“value2”,则位置1的位需要设置为1。如何确保int的每一位最初都设置为0,然后只打开指定的位? 最佳答案 如果您有一个int值“intValue”并且您想要在位置“bitPosition”处设置一个特定位,请执行如下操作:intValue=intValue|(1或更短:intValue|=1如果您想重置一点(即将其设置为零),您可以这样做:intValu

c# - 在 C# 中将 List<string> 转换为 List<int>

我想转换一个List到List.这是我的代码:voidConvert(ListstringList){ListintList=newList();for(inti=0;i 最佳答案 您可以使用List.ConvertAll(...)而不是使用LINQListintList=stringList.ConvertAll(int.Parse); 关于c#-在C#中将List转换为List,我们在StackOverflow上找到一个类似的问题: https://sta

c# - UTF-8 或 UTF-16 或 UTF-32 或 UCS-2

我正在设计一个新的CMS,但想要设计它来满足我future的所有需求,比如多语言内容,所以我认为Unicode(UTF-8)是最好的解决方案但是通过一些搜索我得到了这篇文章http://msdn.microsoft.com/en-us/library/bb330962%28SQL.90%29.aspx#intlftrql2005_topic2所以我现在很困惑现在使用什么UTF-8/UTF-16/UTF-32/UCS-2这对多语言内容和性能等更好。PS:我正在使用Asp.net和c#以及SqlServer2005提前致谢 最佳答案 这

c# - 将字符串数组加载到 List<int> 中最优雅的方法是什么?

考虑一个包含数值的字符串数组:string[]intArray={"25","65","0"};将数字加载到List中的最优雅的方法是什么?不使用for或while遍历intArray? 最佳答案 您可以使用Enumerable.Select方法ListintList=intArray.Select(str=>int.Parse(str)).ToList(); 关于c#-将字符串数组加载到List中最优雅的方法是什么?,我们在StackOverflow上找到一个类似的问题:

c# - 我想要 "(int)null"返回我 0

如何从(int)null中获取0作为整数值。编辑1:我想创建一个函数,该函数将返回各自数据类型中null表示的默认值。编辑2:我如何在此场景中使用默认。(整数)值其中Value可以是null或任何整数值。我不知道运行时值的数据类型。但我会保证Value应该只包含null或Integer值。 最佳答案 您可以使用default关键字获取任何数据类型的默认值:intx=default(int);//==0stringy=default(string);//==null//etc.这也适用于通用参数:BarFoo(){returnnewB

c# - 为什么没有以 int 作为指数的 Math.Pow?

我读到Math.Pow实现非常复杂,无法处理小数幂。当您不需要小数幂时,为什么没有采用int作为指数的版本来制作更快的版本? 最佳答案 因为您只需要将其转换回float以将其乘以底数的对数。nm=em×lnn 关于c#-为什么没有以int作为指数的Math.Pow?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6919059/

c# - 基本的 CRC32 维基百科实现与在线看到的标准 CRC32 不同

我有一个基本的CRC32实现,遵循维基百科的CodeFragment:1sample.我认为我做对了,修改为对余数多项式使用n位寄存器,而不是按照示例使用n+1位。我得到的结果和网上的CRC32实现结果不一样。在我的实现中,我必须在此处更改什么?请忽略逻辑的Console.Writeline语句。constUInt32poly=0x04C11DB7;publicstaticUInt32GenerateCRC_32(byte[]message){byte[]augmentedMsg=newbyte[message.Length+4];message.CopyTo(augmentedMsg

c# - 使用 C# 中的 32feet.net 库将 bMessage 从 Windows 发送到消息访问服务器

我正在尝试从Win7PC上的C#代码向三星Note2手机发送一条bMessage。我有32英尺的蓝牙库,并且正在使用VisualStudio2013社区版。这是我目前拥有的代码:stringsendMessage="";sendMessage=File.ReadAllText(file_path);BluetoothClientbtClient=newBluetoothClient();btClient.Connect(btEp);StreamclientStream=btClient.GetStream();using(StreamWriterutfWriter=newStreamW

c# - 如何在32位应用程序中获取64位 "program files"目录

我有一个以x86模式(在c#中)编译的应用程序,我需要从中访问64位程序文件文件夹(当然是64位Windows)中存在的某个文件。我不想在我的应用程序中将C:\ProgramFiles硬编码为字符串,因为一些目标计算机可能将Windows安装在不同的驱动器中,或者可能使用其他语言。我遇到的问题是使用Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)返回x86风格而不是所需的目录,除非我在64位模式下编译我的程序。出于好奇,我该怎么做才能避免这样做? 最佳答案