审查生成的令牌去重器

来自 泛型
C# 14 / .NET 10 高级 8分钟 找出 4处问题

在这段生成的泛型令牌去重方法处理生产凭据前,对它进行审查。

对调用方提供的 API 令牌去重,保留第一次出现的项目,使用传入的比较器,支持只能遍历一次的序列,拒绝 null 输入,并且绝不记录令牌值。

csharp
using System;
using System.Collections.Generic;
using System.Linq;

public static class TokenTools
{
    public static IReadOnlyList<T> Unique<T>(
        IEnumerable<T> source,
        IEqualityComparer<T>? comparer = null)
    {
        var result = new List<T>();

        for (int index = 0; index < source.Count(); index++)
        {
            T item = source.ElementAt(index);
            Console.WriteLine($"accepted: {item}");

            if (!result.Contains(item))
                result.Add(item);
        }

        return result;
    }
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误