类验证方法中的C#NullReferenceException

Nea*_*alR 0 c# validation class

我正在尝试添加一个帮助方法来清除我班级中的任何非字母数字字符.但是,我一直在收到错误

NullReferenceException: Object reference not set to an instance of an object.   
Run Code Online (Sandbox Code Playgroud)

不知道我在这里做错了什么因为我认为这是在课堂上设置任何类型的验证的正确方法.任何建议,将不胜感激.

    private string agentId;
    public string AgentId
    {
        get { return agentId; }
        set { agentId = this.scrubAgentId(); } 
    }

    private string scrubAgentId()
    {
        char[] arr = this.AgentId.ToCharArray();

        arr = Array.FindAll<char>(arr, (c => (char.IsLetterOrDigit(c))));
        return new string(arr);
    }
Run Code Online (Sandbox Code Playgroud)

Jor*_*aye 6

这根本不是正确的.你value在执行你的套装时就丢弃了.它应该看起来更像这样:

    private string agentId;
    public string AgentId
    {
        get { return agentId; }
        set { agentId = this.scrubAgentId(value); } 
    }

    private string scrubAgentId(string value)
    {
        if(value == null)
            return value;
        char[] arr = value.ToCharArray();

        arr = Array.FindAll<char>(arr, (c => (char.IsLetterOrDigit(c))));
        return new string(arr);
    }
Run Code Online (Sandbox Code Playgroud)