【发布时间】:2011-05-04 11:02:25
【问题描述】:
面试回来。我与您分享,欢迎提供良好而准确的答案。
目的,你有一个静态方法,这个方法接收一个IList<int>你有
取回可以除以 3 的值并编写代码。
约束: 原始列表(在主列表中)在堆栈上有引用,在堆上有值, 结果必须在与原始列表相同的空间(在堆上)中返回(这是一个 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>();
}
【问题讨论】: