ネストされたループの代わりにEnumerable.Repeatを使用して中空の矩形を作成する割り当てが与えられました。私はこれのようにやった。C#Enumerable.Repeat()を使用している中空の矩形
string str;
int rows = 5;
int cols = 15;
for (int i = 1; i <= rows; i++)
{
if (i == 1 || i == rows)
{
str = string.Concat(Enumerable.Repeat("*", cols));
Console.WriteLine(str);
}
else
{
str = string.Concat(Enumerable.Repeat(" ", cols - 2));
str = string.Concat("*", str, "*");
Console.WriteLine(str);
}
それはうまく動作しますが、あなたは私が何を意味するか知っていれば私が設計した中空部がのように移動するための方法をいないようですが...何が行くための最も効率的な方法だろうか? StringBuilderの使用を除外します。
あなたは1行を作成するために 'Enumerable.Repeat'を使用についてどのように、その後、N行を作成するために、その1行目に、再び' Enumerable.Repeat'を使うのか? –