Tag: bitconverter

用于Hex的BitConverter VS ToString

只是想知道是否有人可以解释为什么以下两行代码会返回“不同”的结果? 是什么导致了反转的价值? 这与字节序有关吗? int.MaxValue.ToString(“X”) //Result: 7FFFFFFF BitConverter.ToString(BitConverter.GetBytes(int.MaxValue)) //Result: FF-FF-FF-7F

使用Silverlight的generics问题

我正在使用Silverlight 5(VS 2010)创建一个C#Web应用程序。 我最初创建了一个工作正常的控制台应用程序,现在我正在调整它到一个Web应用程序。 即使在Web应用程序中,它也适用于特别设置的数据类型(例如,对于int而不是它工作正常)但是当我使用generics时它不起作用。 它编译无错误,但它甚至不调试设置为“切换断点”的区域。 最初GUI是这样的: 但是当控件传递到容易出错的部分时,GUI会突然消失 而且我保留断点的地方被这个替换了 (参见最左边的) 因此我无法调试以找到问题 。 我正在尝试做的一些解释:在下面的给定代码中我有一个二进制文件并存储在“fileContents”中,它是数据类型byte[] (我现在没有向您透露读取该文件的方法,你可以认为fileContents包含MainPage类中的二进制文件的内容。 实际上我会将符号(forms为0和1的符号存储在二进制文件中)并找到它的频率(通过计算它在文件中重复的次数,但没有问题所以我没有为它编写方法)。 但是我的代码中的这个processingValue变量将是generics类型( ),我将它存储在”symbol” (也是类型的(从二进制文件读取的这个符号可能是这些short / int /之一)我没有在我的代码中显示的long / UInt32 / UInt64等)。 我有这样的场景: using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using System.IO; using System.Text; using System.Runtime.InteropServices; using […]

在C#中将指针转换为循环选项

我如何将其转换为循环而不使用指针。 byte[] InputBuffer = new byte[8]; unsafe { fixed (byte* pInputBuffer = InputBuffer) { ((long*)pInputBuffer)[0] = value; } } 我正在尝试使用此页面中的代码: 查询字符串参数混淆

如何在c#中获取声音数据样本值

我需要获取WAV文件的声音数据的样本值,以便通过使用那些样本值,我需要每秒获得该声音数据的幅度值。 重要提示:有没有办法使用Naudio库或wmp库获取音频数据样本值? 我以这种方式获取样本值: byte[] data = File.ReadAllBytes(File_textBox.Text); var samples=new int[data.Length]; int x = 0; for (int i = 44; i <data.Length; i += 2) { samples[x] = BitConverter.ToInt16(data, i); x++; } 但我得到的负值更像(-326260)。 这是对还是错? 我的意思是样本值是否为负值,如果它是正确的那么它是什么意思是声音还是沉默?

从hex转换为字符串

我需要检查位于数据包内的string ,我将其作为byte数组接收。 如果我使用BitConverter.ToString() ,我将字节作为带有破折号的string (fe:00-50-25-40-A5-FF)。 我尝试了一些快速谷歌搜索后找到的大多数函数,但是大多数函数都有输入参数类型string ,如果我用带有破折号的string调用它们,它会引发exception。 我需要一个函数将hex(作为string或byte )转换为表示hex值的string (fe:0x31 = 1)。 如果输入参数是string ,则该函数应识别破折号(例如“47-61-74-65-77-61-79-53-65-72-76-65-72”),因为BitConverter无法正确转换。