c# - 只读指定span

标签 c# .net wpf stream

我有一个文本文件,我只想从中读取指定的范围(比如位置 20 到 80)。

我正在使用以下代码,但它读取的是从 0 到跨度的长度。

char[] buffer = new char[span.Length];
using (StreamReader reader = new StreamReader(filename))
{               
    reader.ReadBlock(buffer, 0, span.Length);
}

有人可以帮助我吗?谢谢

最佳答案

char[] buffer = new char[span.Length];
using (StreamReader reader = new StreamReader(filename))
{    
    reader.BaseStream.Seek(span.Start, SeekOrigin.Begin); // or SeekOrigin.Current if you want to loop
    reader.Read(buffer, 0, span.Length);
}

假设 span 的类型有一个 Start 属性。

关于c# - 只读指定span,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5501120/

相关文章:

c# - 如何使用 PEM key 在 C# 中对 JWT 进行签名/加密?

.net - WebApp 的 APEX 限制

c# - 向数组添加元素

c# - 在 C# 代码中更改 WPF 窗口背景图像

c# - 在 WPF MVVM 中使用 ReactiveUI 获取属性更改的先验值

c# - 有没有办法像 VB.NET 一样在 C# 中将 getter 函数定义为 ReadOnly?

c# - 装箱/拆箱,更 retrofit 箱值的引用副本不会反射(reflect)到装箱值

c# - 是否可以为新行设置 DataGridRow 单元格的值?

c# - 解密 HTTPS 实例上生成的 WebResource.axd URL

.net - 在自定义/用户控件 (Winforms) 中添加对嵌套容器的设计时支持