从采访回来.我与您分享,欢迎提供一个好的,准确的答案.
目的,你有一个静态方法,这个方法接收IList<int>你必须得到你可以分为3的值并制作代码.
约束:原始列表(在main中)有一个堆栈上的引用和堆上的值,结果必须在与原始列表相同的空间(在堆上)中返回(它是一个void方法).此处显示的解决方案不正确,因为在方法中,在方法域中创建堆栈+堆上的新指针.方案?
额外奖励:如何更改代码以接收int而不是float,double,....
static void Main(string[] args)
{
IList<int> list = new List<int>() { 9, 3, 10, 6, 14, 16, 20};
CanBeDivedByThree(list);
}
static void CanBeDivedByThree(IList<int> list)
{
list = (from p in list
where p % 3 == 0
orderby p descending
select p).ToList<int>();
}
Run Code Online (Sandbox Code Playgroud)