很简单的问题。我有一个值列表,我想用空值填充,这样我总是返回 X 个项目。
List<int> list = new List<int>() { 10, 20, 30 };
IEnumerable<int> values = list
.OrderByDescending( i => i )
.Union( Enumerable.Repeat( 0 , 5 ) );
foreach (var item in values.Take(5))
Console.Write( item + " ");
我希望输出像“30 20 10 0 0”但令人惊讶的是我只得到“30 20 10 0”。
foreach (var i in Enumerable.Repeat( 0, 5 ).Take(3))
Console.Write( i + " " );
此代码将返回“0 0 0”。同样,“ list.Take(3)
”返回“30 20 10”。