Giả sử tôi có một số mã mà trông như thế này:C# Mã Đơn giản hóa truy vấn: tuần tự Foreach Loops
foreach(type x in list y)
{
//dostuff1(x)
}
foreach(type x in list y)
{
//dostuff2(x)
}
foreach(type x in list y)
{
//dostuff3(x)
}
foreach(type x in list y)
{
//dostuff4(x)
}
foreach(type x in list y)
{
//dostuff5(x)
}
tôi không thể kết hợp mọi thứ vào cái lớn cho vòng lặp như thế này:
foreach (type x in list y)
{
//dostuff1(x)
//dostuff2(x)
//dostuff3(x)
//dostuff4(x)
//dostuff5(x)
}
Làm như vậy sẽ thay đổi thứ tự. Bất kỳ bình luận nào về cách tốt nhất để làm cho mã đơn giản hơn trong C#?
Tôi tưởng tượng tôi có thể giải quyết vấn đề này bằng cách tạo một hàm như thế này, mặc dù tôi thà để nó cách nó là hơn buộc độc giả tương lai của mã của tôi để hiểu yield
:
void func(type x)
{
dostuff1(x)
yield 0;
dostuff2(x)
yield 0;
dostuff3(x)
yield 0;
dostuff4(x)
yield 0;
dostuff5(x)
yield break;
}
for (int i = 0; i<5; ++i)
{
foreach (type x in list y)
{
//Call func(x) using yield semantics, which I'm not going to look up right now
}
}
+1 - Các đại biểu là đẹp hơn rất nhiều trong C# hơn trong VB.NET :( –