我有以下方法来计算列表中的前20个数字并返回它们.
static public List<int> CalculateTop20(List<int> nums)
{
List<int> Returned = new List<int>();
int count = nums.Count;
for (int j = 0; j < 20; j++)
{
var most = (from i in nums
group i by i into grp
orderby grp.Count() descending
select grp.Key).First();
Returned.Add(most);
nums.RemoveAll(item => item == most);
}
return Returned;
}
Run Code Online (Sandbox Code Playgroud)
除非我将它们返回到main并尝试将它们输出到控制台,它们只是出现:System.Collections.Generic.List'1 [System.Int32] ...
我有多个其他方法在整个程序中传递列表,但这是唯一一个给我这个问题的方法.此外,当我在计算它们的同时输出它们时,数字是正确的.
如果您只是调用Console.WriteLine()结果,那么它只会调用ToString()打印类型名称的对象.
如果要输出列表,则需要执行以下操作:
foreach(var i in list) {
Console.WriteLine(i);
}
Run Code Online (Sandbox Code Playgroud)