Я новичок в LINQ, и у меня проблема с вложенными froms:
using System;
using System.Linq;
class MultipleFroms
{
static void Main()
{
char[] chrs = { 'A', 'B', 'C'};
char[] chrs2 = { 'X', 'Y', 'Z' };
var pairs = from ch1 in chrs
from ch2 in chrs2
select ch1+" "+ ch2;
Console.WriteLine("For ABC and XYZ: ");
foreach (var p in pairs)
Console.WriteLine(p);
Console.WriteLine();
Console.WriteLine("For D and W: ");
chrs = new char[] { 'D' };
chrs2 = new char[] { 'W' };
foreach (var p in pairs)
Console.WriteLine(p);
}
}
На выходе у меня есть:
For ABC and XYZ:
A X
A Y
A Z
B X
B Y
B Z
C X
C Y
C Z
For D and W:
A W
B W
C W
Но я ожидал:
...
For D and W:
D W
Почему pairs
во втором случае используется "старый" chrs
, { 'A', 'B', 'C'}
вместо {'D'}
?