Trong C#, sử dụng .NET Framework 4, có cách nào thanh lịch để lặp lại cùng một hành động với số lần được xác định không? Ví dụ, thay vì:Có cách nào thanh lịch để lặp lại một hành động không?
int repeat = 10;
for (int i = 0; i < repeat; i++)
{
Console.WriteLine("Hello World.");
this.DoSomeStuff();
}
Tôi muốn viết một cái gì đó như:
Action toRepeat =() =>
{
Console.WriteLine("Hello World.");
this.DoSomeStuff();
};
toRepeat.Repeat(10);
hay:
Enumerable.Repeat(10,() =>
{
Console.WriteLine("Hello World.");
this.DoSomeStuff();
});
Tôi biết tôi có thể tạo ra phương pháp mở rộng của riêng mình cho ví dụ đầu tiên , nhưng không phải là có một tính năng tồn tại mà làm cho nó đã có thể làm điều này?
Tất nhiên, không có gì ngăn bạn viết phương thức 'lặp lại' hoặc' ForEach' của riêng mình trên IEnumerable - các nhà thiết kế ngôn ngữ đã rửa tay của họ trước thời điểm đó. – geofftnz
Tôi có thể hỏi tại sao sử dụng 'ForEach' làm ví dụ hay không, đó có phải là một điều xấu không? – Coops
@CodeBlend, điều đó sẽ tạo ra một câu hỏi hay. – Joe