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

方法仅返回Null:类列表匹配用户输入逻辑异常排查求助

排查思路
  • 修正对象比较逻辑:你当前用clientaccount.Equals(cliEmail)做判断,但Client和ClientEmail是不同类型的对象,默认的Object.Equals只会判断引用是否相同,不可能匹配成功。你需要改成比较具体的属性值,比如假设Client类有Email属性、ClientEmail类有存储邮箱字符串的Value属性,就把判断条件改成:
    if (string.Equals(clientaccount.Email, cliEmail.Value, StringComparison.OrdinalIgnoreCase))
    
  • 重写Equals方法(可选):如果一定要用Equals方法做比较,需要在Client类里重写Equals,让它支持和ClientEmail类型的内容比对,示例如下:
    public override bool Equals(object obj)
    {
        if (obj is ClientEmail cliEmail)
        {
            return string.Equals(this.Email, cliEmail.Value, StringComparison.OrdinalIgnoreCase);
        }
        return base.Equals(obj);
    }
    // 记得同时重写GetHashCode,保持Equals和GetHashCode的一致性
    public override int GetHashCode()
    {
        return Email?.GetHashCode() ?? 0;
    }
    
  • 验证数据一致性:在循环内添加调试输出,确认两边的实际值是否一致,比如:
    Console.WriteLine($"当前Client邮箱:{clientaccount.Email},用户输入:{cliEmail}");
    
    排查是否存在大小写、空格、特殊字符等肉眼不易察觉的差异。
  • 确认列表加载有效性:在方法开头添加输出,检查clientaccounts列表的长度和内容:
    Console.WriteLine($"已加载的Client数量:{clientaccounts.Count}");
    
    确保列表确实包含数据,且每个Client对象的目标属性已正确赋值。

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 13:55:16