У меня есть цикл foreach и внутри, если есть else loop, для каждого цикла я проверяю строки текстового файла, сначала я проверяю первую строку «ctf», если не выйти из всего цикла, иначе это «ctf», а затем взять следующую строку в цикле foreach и goto else part, но моя часть еще проверяет первую строку, может ли кто-нибудь сказать, что является реальной проблемой.Перерыв из цикла else if внутри цикла foreach в C#
bool first = true;int i=0;
lines = streamReader.ReadToEnd().Split("\r\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
foreach (string line in lines)
{
if (first)
{
if (line != "CTF") { break; } // i think the problem is here.
first = false;
}
else
{
tabs = line.Split('\t');
ID = int.Parse(tabs[0]);
X = int.Parse(tabs[1]);
Y = int.Parse(tabs[2]);
H = int.Parse(tabs[3]);
W = int.Parse(tabs[4]);
Text = tabs[5];
ItemTypes types = (ItemTypes)int.Parse(tabs[6]);
Items.Add(new FormItem());
Items[i].Id = ID;
Items[i].X = X;
Items[i].Y = Y;
Items[i].Height = H;
Items[i].Width = W;
Items[i].Text = Text;
Items[i].Type = types;
i++;
}
вопрос уже был дан ответ, но, как правило, если вы должны выйти из цикла, лучше практика использовать Do Хотя цикл вместо Foreach. –