簡體   English   中英

需要 LINQ 方法語法等效於 LINQ 查詢語法 - 復合查詢 (C# - Visual Studio 2008)

[英]Need LINQ Method Syntax Equivalent To LINQ Query Syntax - Compound Query (C# - Visual Studio 2008)

我在 C# (Visual Studio 2008)中有以下代碼。 這是 LINQ 查詢語法。 我需要等效的 LINQ 方法語法。 你能幫我嗎?

static void Main(string[] args)
{
    int[] numbersA = { 0, 2, 4, 6, 8, 10 };
    int[] numbersB = { 1, 3, 5, 7, 9, 11 };

    var pairs = from a in numbersA
                from b in numbersB
                where a < b
                select new { a, b };

    foreach (var pair in pairs)
    {
        Console.WriteLine("{0} is less than {1}", pair.a, pair.b);
    }
}

謝謝

我假設您可能正在尋找蘭巴表達式,所以這將產生相同的 output,但更簡潔和准確。

var res = numbersA.Zip<int, int, string>(numbersB, (a, b) => (a < b) ? a + " is less than " + b : a + " is greater than " + b).ToList();

res.ForEach(s => Console.WriteLine(s));

如果你必須把它們都拼出來。 我想你也可以這樣做:

var result = numbersA.SelectMany(c => numbersB, (c, o) => new { c, o })
                     .Where(d => d.c < d.o)
                     .Select(v => v.c + " is less than" + v.o);
                     
result.ToList().ForEach(x => Console.WriteLine(x));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM