在这段生成的泛型令牌去重方法处理生产凭据前,对它进行审查。
对调用方提供的 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;
}
}
生成代码仅作示例,不代表任何特定模型