亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 LINQ / Divide and Conquer 方法以優雅的方式迭代一個循環或無循環

如何使用 LINQ / Divide and Conquer 方法以優雅的方式迭代一個循環或無循環

C#
慕工程0101907 2023-09-16 17:54:32
112123123412345我曾嘗試使用 2 個 FOR 循環來實現這一目標,并嘗試使用一個循環進行遞歸。public static void Main(string[] args) {     DisplayNumberPyramid(1); } public static void DisplayNumberPyramid(int i){    if(i<=5)    {        for(int j=1;j<=i;j++)        {            Console.Write(j);        }        Console.Write("\n");        DisplayNumberPyramid(i+1);    }    Console.ReadLine();}使用具有一個循環和不具有循環的 LINQ/DnC 方法,期望獲得相同的輸出。
查看完整描述

2 回答

?
青春有我

TA貢獻1784條經驗 獲得超8個贊

解決方案


var results = Enumerable.Range(1, 5)

? ? ? ? ? ? ? ? ? ? ? ? .Select(x => string.Concat(Enumerable.Range(1, x)));


foreach(var result in results)

? ?Console.WriteLine(result);

如果你真的不想要foreach


Console.WriteLine(string.Join("\r\n",results));

或者for 循環


for (var i = 1; i <= 5; i++)

{

? ?for (var j = 1; j <= i; j++)

? ? ? Console.Write(j);

? ?Console.WriteLine();

}

輸出


1

12

123

1234

12345


查看完整回答
反對 回復 2023-09-16
?
慕俠2389804

TA貢獻1719條經驗 獲得超6個贊

使用c#8 的新范圍類型功能的另一種解決方案

output = "12345";

for(var i = 1; i <= 5; i++)

? Console.WriteLine(output[0..i]);

或使用子字符串方法


output = "12345";

for(var i = 1; i <= 5; i++)

? Console.WriteLine(output.Substring(0, i));


查看完整回答
反對 回復 2023-09-16
  • 2 回答
  • 0 關注
  • 136 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號