例如,我有一個清單,{1, 2, 3, 4, 5}
我需要得到它的對(使用 C# LINQ):
(1, 2), (2, 3), (3, 4), (4, 5)
奇怪的是,我無法解決這個簡單的任務,盡管我嘗試了SelectMany和Skip(i 1),它給了我所有可能的對,我基本上不需要。
uj5u.com熱心網友回復:
您可以使用 Linq Zip方法執行此操作:
var numbers = new[] { 1, 2, 3, 4, 5 };
var pairs = numbers.Zip(numbers.Skip(1));
foreach (var pair in pairs)
{
Console.WriteLine($"First: {pair.First}, Second: {pair.Second}");
}
輸出:
First: 1, Second: 2
First: 2, Second: 3
First: 3, Second: 4
First: 4, Second: 5
運行示例:https ://dotnetfiddle.net/HZuDdR
uj5u.com熱心網友回復:
using System;
using System.Linq;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
var list = new List<int>{1, 2, 3, 4, 5};
var pairs = list.Take(list.Count() - 1).Select((z, index) => new
{
a = z, b = list[index 1]
}).ToList();
pairs.ForEach(p => Console.Write("(" p.a "," p.b ") "));
}
}
https://dotnetfiddle.net/6oXQwC
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/457633.html
