【c# – 十进制值1,5在DB中最终为15 – 为什么?】教程文章相关的互联网学习教程文章

c# – 读/写字符串二进制数据 – BinaryReader【代码】

我编写了下面的方法,使用二进制模式将文件存档到一个文件中:// Compile archivepublic void CompileArchive(string FilePath, ListView FilesList, Label Status, ProgressBar Progress){FileTemplate TempFile = new FileTemplate();if (FilesList.Items.Count > 0){BinaryWriter Writer = new BinaryWriter(File.Open(FilePath, FileMode.Create), System.Text.Encoding.ASCII);Progress.Maximum = FilesList.Items.Count - 1;W...

C#字符串和16进制字符串之间的转换

将字符串编码成 16进制 字符串表示: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Net; namespace ConsoleApplication1{ class Program { static void Main(string[] args) { // 将字符串转换成16进制表示: // 先将字符串转换成 byte 数组; // (1)、如果是数字或者字符:byte[] data = Encoding.ASCII.GetBytes(str...

c# – 二进制读写器同时打开?【代码】

我正在编写处理使用哈希值的文件的代码.我需要读取一个块,然后散列它,然后写入它,然后读取另一个块等. 换句话说,我需要做很多阅读和写作.我确信这很简单,但我只是想由专业人士运行它… 做以下事情是可能的,也是可以接受的:BinaryReader br = new BinaryReader (File.OpenRead(path)); BinaryWriter bw = new BinaryWriter (File.OpenWrite(path)); br.dostuff(); bw.dostuff();我记得在尝试打开和写入文件时遇到某种冲突的文件流错...

将十六进制枚举参数从C#传递给C【代码】

我在C中有一个接受十六进制参数的函数.我需要从C#调用这个函数.我目前的方法似乎不正确,因为我的C函数返回错误的数字. 这是我的C函数的声明:enum tags {TAG_A = -1,TAG_B = 0x00, TAG_C = 0xC1, ... }; int myfunction(enum tags t);这是我的C#代码:enum tags {TAG_A = -1,TAG_B = 0x00, TAG_C = 0xC1, ...}[DllImport ("mylibraryname")]public static extern int myfunction(tags t);myfunction(tags.TAG_B);我在Mac上,我正...

c# – 为什么实体框架试图将Guid ID转换为十进制?【代码】

这是我第一次遇到这样的问题,我在网上找不到任何关于它的信息. 下面的代码效果很好Exception_Perimetre = dc.Exception_Perimetre.Where(x => x.Con_Con_Id == ConId&& x.Exp_Date_Debut <= date && x.Exp_Date_Fin >= date).ToArray();但随机使用后,它抛出以下异常:Property “Exp_Id” to “Exception_Perimetre” could not be set to a value “Decimal”. You must assign a non-null value of type ‘Guid’ to this proper...

c# – Aspnet MVC 4验证十进制数【代码】

我在应用程序中遇到一些验证小数的问题.例如,如果我在文本框中写入“14,25”,这对我的文化来说是正确的,那么它将无法通过客户端验证.此外,如果我写入14.25,则删除点并将1425放置在实体属性中,此外,在SaveChanges之后,保存到数据库表的值为999,99.需要就此问题提出建议.这与我的另一个问题有关:https://stackoverflow.com/questions/24186365/set-jquery-culture-once-for-the-entire-aplication-possible/24186535#24186535 编辑:...

c# – 使用三元运算符时,为什么要显式地将十六进制值转换为字节?【代码】

例如:byte a = 0x01; // Works fine byte b = foo() ? 0x01 : 0x02; // Get error "Cannot impicitly convert int to byte"为什么会这样?解决方法:当您为byte类型的变量分配数字文字(无论是十六进制还是十进制)时,编译器会检查该值是否适合一个字节.一旦编译器知道该值适合,它就会将文字视为字节类型,与变量的类型相匹配. 但是,当您使用三元表达式时,编译器不再确定表达式的值是什么.默认情况下,它将条件表达式中的值视为整数文字...

c# – IFormattable.ToString无法正常工作以进行十六进制格式化【代码】

在尝试格式化为十六进制时,String.Format和IFormattable.ToString(format,value)提供不同的结果.使用IFormattable.ToString时如何获得正确的结果(格式,值)string format = "0x{0:X4}"; Console.WriteLine(string.Format(format, 255)); //prints- 0x00FFIFormattable formattableValue = (IFormattable)255; Console.WriteLine(formattableValue.ToString(format, null)); //prints- 25x{5:X4}解决方法:格式化字符串的格式对于stri...

c# – 并行二进制去磁化?

我有一个解决方案,我需要非常快速地将对象读入内存,但二进制流可能会被缓存压缩在内存中以节省磁盘上的时间. 我使用不同的解决方案,显然XmlTextWriter和XmlTextReader不是很好,也没有内置的二进制序列化. Protobuf-net很棒,但仍然有点太慢.以下是一些统计数据: 文件大小XML:217 kb 文件大小二进制:87 kb 压缩二进制:26 KB 压缩XML:26 KB 使用XML反序列化(XmlTextReader):8.4 sek 用二进制(Protobuf-net)反序列化:6.2 sek 用...

解析c#bootp服务器的二进制数据?

我需要一个C#.NET应用程序作为bootp服务器.该协议非常简单,但我不知道构建/解析二进制数据的简单方法. 有任何想法吗:alt text http://www.tcpipguide.com/free/diagrams/bootpformat.png解决方法:有几种方法可以做到这一点.您可以使用诸如StructLayout之类的marshaling attributes来将结构打包到字节数组中,但这可能很棘手并且不值得付出努力. 您可以使用专门的框架(如Protobuf)来定义类,使其序列化以匹配您需要的结构. 但根据我的...

c# – Outlook电子邮件是否有非二进制格式?【代码】

我想在将在Microsoft Outlook中打开的Web服务器上创建一个电子邮件文件.可能派上用场的两种格式是.MSG格式和.OFT格式. 但是,两者似乎都是带有一堆流的GZIP格式.这很难在Web服务器上生成. 是否有基于XML或文本的格式可用于编码简单的电子邮件? 如果没有,是否有免费的.NET库可以动态生成电子邮件? 谢谢!麦克风解决方法:只需使用System.Net.Mail并写入文件系统:<system.net> <mailSettings> <smtp deliveryMethod="SpecifiedPic...

使用C#,如何将二进制数据的字节数组转换为对数据建模的自定义类型对象?【代码】

场景:我通过HTTP接收了原始二进制数据,并将数据存储到字节数组中.我有描述二进制数据可以表示的各种字段的文档,但必须在运行时确定数据的实际含义.例如,如果表示错误发生的字节= 1,则下一个字节的含义会发生变化. 使用C#和.NET 4,我想创建一个或多个镜像文档中描述的字段的类,然后以某种方式使用二进制数据的字节数组初始化类.我希望该解决方案能够最大限度地减少代码重复,并且模块化和优雅. 我已经研究过创建Serializable类,但是...

c# – 如何使用前导零和没有分隔符格式化十进制?【代码】

我要求将十进制值格式化为8个位置,其中最后两位数字保留为十进制值. 格式应为:00000000(其中最后2个零用于十进制值). 例: 十进制值:193.45The result should be: 0000019345十进制值:245The result should be: 0000024500我知道我可以使用string.format(“{here here}”,value)或.ToString(“format here”),但不知道要使用什么字符串格式.解决方法:查看Custom Numeric Format Strings的MSDN文档. 可能可以定义自定义NumberFor...

c# – 在DateTime范围内进行二进制搜索【代码】

我有一个TimeRange对象的排序列表.每个TimeRange对象都有一个开始和结束DateTime对象. 我有一个查询,我想返回介于某个范围之间的TimeRanges.我目前有一个如下所示的功能protected List<TimeRange> GetBoundedTimeRanges(List<TimeRange> timeRanges, DateTime startTime,DateTime endTime){if (timeRanges == null || timeRanges.Count == 0){return null;}var ranges = new List<TimeRange>();foreach (var range in timeRanges){...

C#实现整型数据字任意编码任意进制的转换和逆转换

实现如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { public class Number { public string Characters { get; set; } public int Length { get { if (Characters != null) return Characters.Length;...