我正在尝试为以下代码编写一个内胆代码:

if (a.Count() == n)
{
    return a;
}
else if (a.Count() > n)
{
     Array.Resize(ref a, n);
     return a;
}
else
{
    return a.Concat(Enumerable.Repeat(0, n - a.Count())).ToArray();
}


到目前为止,我已经尝试过了:

return a.Count() == n ? a :
 (a.Count() > n ? Array.Resize(ref a, n) :
 a.Concat(Enumerable.Repeat(0, n - a.Count())).ToArray());


但是如您所见,它无法编译,我无法找到一种用一个内衬替换以下代码的方法:

Array.Resize(ref a, n);
return a;


任何帮助将不胜感激。谢谢。

最佳答案

return a.Concat(Enumerable.Repeat(0,n)).Take(n).ToArray();


要么

Array.Resize(ref a, n); return a;

关于c# - 一项类轮代码挑战,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28003068/

10-12 12:45
查看更多