一个班轮代码挑战

Sye*_*idi 2 c#

我正在尝试为以下代码编写一个单行代码:

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();
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我试过这个:

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

但是你可以看到它无法编译我无法想出用一个衬里替换下面代码的方法:

Array.Resize(ref a, n);
return a;
Run Code Online (Sandbox Code Playgroud)

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

use*_*407 6

return a.Concat(Enumerable.Repeat(0,n)).Take(n).ToArray();
Run Code Online (Sandbox Code Playgroud)

要么

Array.Resize(ref a, n); return a;
Run Code Online (Sandbox Code Playgroud)