草庐IT

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

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

C# 方法类似于 Base64String,但只有字母数字(没有加号或斜线)

是否有任何C#方法类似于Convert.ToBase64String但除了字母数字输出之外不生成任何内容?谢谢! 最佳答案 答案现在有点过时了。为了future搜索者的利益:现在在C#中处理此问题的最佳方法是:byte[]b;//fillyourbytearraysomehowstrings=System.Web.HttpServerUtility.UrlTokenEncode(b);这将返回一个URL安全的Base64编码字符串(这是您在问题的评论中所说的真正追求的内容)。然后你可以再次解码它,你猜对了:byte[]b=Syste

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# - 将 base64Binary 转换为 pdf

我有base64Binary的原始数据。stringbase64BinaryStr="J9JbWFnZ......"如何制作pdf文件?我知道它需要一些转换。请帮助我。 最佳答案 第1步是将base64字符串转换为字节数组:byte[]bytes=Convert.FromBase64String(base64BinaryStr);第2步是将字节数组保存到磁盘:System.IO.FileStreamstream=newFileStream(@"C:\file.pdf",FileMode.CreateNew);System.IO.Bi

c# - 我如何使用 NUnit 创建一个通用的 BaseTest,我可以从它继承并从 base 运行测试?

所以基本上我有一个域对象和一个可以对该对象执行CRUD操作的通用存储库。publicinterfaceIBaseRepositorywhereT:BaseEntity{voidAdd(Tentity);voidRemove(Tentity);TById(intid);IEnumerableAll();}所以我有这个接口(interface)的多个实现,每个域对象一个。我想写一些集成测试(使用nunit),为此我想我会做一个BaseRepositoryTest-像这样:publicabstractclassBaseRepositoryTestswhereT:BaseEntity{publ

c# - RDLC 报告中的渲染 PDF 中不显示 Base64 图像

我正在尝试在RDLC报告中使用参数(@CustomerSign)显示图像(base64字符串)(我正在从报告中呈现PDF文件,我看到的是PDF文件)我已经配置图像属性如下:选择图像源:数据库使用此字段:=Convert.FromBase64String(Parameters!CustomerSign.Value)使用这个MIME类型:image/png并传递参数:ReportParameterCustomerSign=newReportParameter("CustomerSign",obj.SignImage);rptvw.LocalReport.SetParameters(Cust

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位模式下编译我的程序。出于好奇,我该怎么做才能避免这样做? 最佳答案

c# - 表达式树 - 不必要的转换为 int32

在处理字节和短裤时,表达式树似乎构建了一个不必要的转换,它们将两边(例如二进制表达式)转换为int32。这是我见过的一些Linq提供程序中的一个问题,每个提供程序都必须剥离这个冗余层才能获得原始表达式。(NHibernate不会删除这一层并在SQL查询中创建一个糟糕的CAST)。//noconversionConsole.WriteLine((Expression>)((s,s1)=>s==s1));//convertstoint32Console.WriteLine((Expression>)((s,s1)=>s==s1));//convertstoint32Console.Writ