public partial class MainWindow : Window
{
public MainWindow()
{
BinaryReader br = new BinaryReader(File.Open(FILE_NAME, FileMode.Open));
long dataLength = br.BaseStream.Length;
byte[] a = new byte[br.BaseStream.Length];
a= br.ReadBytes((int)br.BaseStream.Length);
InitializeComponent();
}
....
字符串
readData是从二进制文件中读取的字节数组。我们如何使用c#将这个字节数组变成一个5列的DataGrid?
就像这样
position| 0 | 1 | 2 | 3 | 4 |
0 |a[0]|a[1]|a[2]|a[3]|a[4]|
1 |a[5]|a[6]|a[7]|a[8]|a[9]|
型
...
我尝试创建一个9字节的对象,并使用ListView来实现,但我认为这不适合未来的工作...
public class Data
{
public int position { get; set; }
public byte _0 { get; set; }
public byte _1 { get; set; }
public byte _2 { get; set; }
public byte _3 { get; set; }
public byte _4 { get; set; }
public byte _5 { get; set; }
public byte _6 { get; set; }
public byte _7 { get; set; }
public byte _8 { get; set; }
public byte _9 { get; set; }
public byte _A { get; set; }
public byte _B { get; set; }
public byte _C { get; set; }
public byte _D { get; set; }
public byte _E { get; set; }
public byte _F { get; set; }
}
型
1条答案
按热度按时间wixjitnu1#
如果你的数组不是太大,你可以使用以下基于LINQ的解决方案。否则,您必须创建一个生成器(使用
yield return
的枚举流)。您应该使用异步
File
API来提高性能使用File.ReadAllBytesAsync
读取二进制文件。BinaryReader
不再是常见场景所必需的(注意,BinaryReader
和FileStream
都实现了IDisposable
,并且您发布的代码不会处理这两个示例!).MainWíndow.xaml**
字符串
主窗口.xaml.cs
型