GetEnumerator使用
internal class Program
{
static async Task Main(string[] args)
{
var list = new List<int>()
{
1, 2, 3, 4, 5, 6, 7,
};
var res = Pairwise<int, string>(list, (s1, s2) =>
{
return $"{s1}:{s2}";
});
foreach (var item in res)
{
Console.WriteLine(item);
}
}
public static IEnumerable<TResult> Pairwise<TSource, TResult>(IEnumerable<TSource> source, Func<TSource, TSource, TResult> resultSelector)
{
using var e = source.GetEnumerator();
if (!e.MoveNext()) yield break;
var previous = e.Current;
while (e.MoveNext())
{
yield return resultSelector(previous, e.Current);
previous = e.Current;
}
}
}
输出
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律