static void Main(string[] args) { List animals = new List() { "cat", "dog", "donkey" }; List number = new List() { 10, 20 }; var select1 = number.Select(num => animals); var select2 = number.SelectMany(n => animals); foreach (var x in select1) { foreach (var y in x) { System.Console.WriteLine(y); } } System.Console.WriteLine("-----------------------------"); foreach (var x in select2) { System.Console.WriteLine(x); } System.Console.WriteLine("-----------------------------"); var zipped = number.SelectMany(n => animals, (n, a) => new { n, a}); foreach (var x in zipped) { System.Console.WriteLine(x); } System.Console.ReadKey(true); } 输出值是 cat dog donkey cat dog donkey ----------------------------- cat dog donkey cat dog donkey ----------------------------- { n = 10, a = cat } { n = 10, a = dog } { n = 10, a = donkey } { n = 20, a = cat } { n = 20, a = dog } { n = 20, a = donkey }