You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

读取扑克手牌文本文件后Reader类Buffer为null的原因排查

问题原因分析

你的Reader类里的Buffer和Cursor被定义为静态(static)成员,这是核心问题:

  • 静态成员属于类本身,而非类的实例对象。当你通过构造函数给Buffer赋值时,实际上是给Reader这个类的静态Buffer赋值,而不是给你创建的reader实例赋值。
  • 调试时如果查看reader实例的属性,会找不到这个静态的Buffer(因为它不属于实例),所以会显示null,但实际上类的静态Buffer已经被赋值了。
修复方案

把Reader类里的static修饰符去掉,让Buffer和Cursor成为实例成员:

public class Reader
{
    int Cursor { get; set; }
    string Buffer { get; set; }
    public Reader(string buffer, int cursor)
    {
        Cursor = cursor;
        Buffer = buffer;
    }
}

另外可以优化ReaderHelper的文件读取逻辑,用更简洁安全的方式替代手动处理字节数组:

static class ReaderHelper
{
    public static string ReadFromFile(string filePath)
    {
        return File.ReadAllText(filePath, Encoding.Default);
    }
}

内容的提问来源于stack exchange,提问作者Юрій Кекош

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 19:51:20