Rubyのtimes(指定回数を繰り返してループ)の代わりをC#で書く!
指定回数を繰り返してループしたい場合。
Rubyの場合。
# 複数行で表す場合。 3.times do puts "hoge" end # 出力結果 # hoge # hoge # hoge # 一行で表す場合。 3.times{ puts "hoge" } # 出力結果 # hoge # hoge # hoge #まとめ 繰り返したい回数.times{ 処理内容 }
C#の場合。
using System; public class Hoge{ public static void Main() { // 複数行で表す場合。 Array.ForEach(new int[3], _=> Console.WriteLine("hoge") ); // 出力結果 // hoge // hoge // hoge // 一行で表す場合。 Array.ForEach(new int[3], _ => Console.WriteLine("hoge")); // 出力結果 // hoge // hoge // hoge // まとめ Array.ForEach(new int[繰り返したい回数], _ => 処理内容); } }
ちょっと長いけど、こんなのもありました。
using System; using System.Linq; public class Hoge{ public static void Main() { Enumerable.Range(1, 3) .ToList() .ForEach(_ => Console.WriteLine("hoge")); Enumerable.Repeat("hoge", 3) .ToList() .ForEach(h => Console.WriteLine(h)); } }
参照記事
C# - C# 簡潔・明瞭な繰り返し処理|teratail
【C#】わかった"つもり"になれる「ラムダ式」解説 - Qiita