Tôi đang chuyển đổi một số mã Java để C# và đã tìm thấy một vài nhãn "phá vỡ" báo cáo (ví dụ)là có một tương đương với phá vỡ nhãn Java trong C# hoặc một workaround
label1:
while (somethingA) {
...
while (somethingB) {
if (condition) {
break label1;
}
}
}
Có tương đương trong C# (đọc hiện nay cho thấy không) và nếu không có bất kỳ chuyển đổi khác hơn (nói) có cờ bool để cho biết để phá vỡ vào cuối mỗi vòng lặp (ví dụ)
bool label1 = false;
while (somethingA)
{
...
while (somethingB)
{
if (condition)
{
label1 = true;
break;
}
}
if (label1)
{
break;
}
}
// breaks to here
tôi muốn được quan tâm là tại sao C# doesn không có điều này vì nó không có vẻ rất xấu xa.
@ Cảm ơn bạn, tôi đã không nhận ra C# cho phép của goto. –
Bạn được chào đón. Tôi đã không nhận ra Java đã có các câu lệnh có nhãn, do đó chúng tôi thậm chí còn có thể: P –
Một 'return' là sạch hơn, nếu bạn có thể cấu trúc nó theo cách đó. –