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

如何实现Error列表输出规则:每条输出Message、同ErrorType仅输出一次Recomendation

实现方案

核心思路

对输入的Error列表按ErrorType分组,分组顺序保留各类型在原列表中首次出现的顺序。遍历每个分组时,先输出分组内所有Error实例的Message字段,再输出该类型对应的Recomendation字段(同类型仅输出一次)。

代码实现

// ErrorType枚举可根据实际业务定义
public enum ErrorType
{
    Type1,
    Type2
}

public class Error
{
    public string Message { get; set; }
    public string Recomendation { get; set; }
    public ErrorType errorType { get; set; }
}

public void ProcessErrorList(List<Error> errorList)
{
    // 空列表直接返回
    if (errorList == null || !errorList.Any())
        return;

    // 按ErrorType分组,保留类型首次出现的顺序
    var errorGroups = errorList
        .GroupBy(e => e.errorType)
        .OrderBy(g => errorList.FindIndex(e => e.errorType == g.Key));

    foreach (var group in errorGroups)
    {
        // 输出当前分组所有错误信息
        foreach (var error in group)
        {
            Console.WriteLine(error.Message);
        }
        // 输出当前类型对应的建议,仅输出一次
        Console.WriteLine(group.First().Recomendation);
    }
}

边界情况处理

  • 所有Error的ErrorType均相同:仅生成一个分组,输出完全部Message后输出一次Recomendation,符合要求
  • 输入列表仅含1个Error元素:输出Message后输出一次对应建议
  • 输入列表为空:直接返回无输出
  • 同ErrorType对应不同Recomendation:默认取该类型第一个实例的Recomendation输出,若业务要求同类型建议统一,可在校验不一致时抛出异常或取统一值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:48:02