如何仅针对循环的一个项目中断循环序列,继续循环其他项目?

时间:2012-09-04 13:45:14

标签: c# foreach return break

我有一个循环(见下文)。如果我输入任何catch块,我想结束我正在循环的项目的循环(我有一个文件路径数组)。

说项目是file =“C:\ test.txt”

当循环这个文件(C:\ test.txt)时,如果出现问题,我想暂停这个文件的循环但是继续使用数组finalFiles中其他文件的foreach。

这可能吗?

foreach (string file in finalFiles)
{
                if (file.Contains(".tiff") == true)
                {
                    PolicyNumber = Path.GetFileName(file).Split('_')[0];
                    basePolicyNumber = PolicyNumber.Remove(PolicyNumber.Length - 2);
                    basePolicyNumber = basePolicyNumber + "00";

                    finalPolicyName = Path.GetFileName(file);

                    try
                    {
                        PolicyUUID = Transporter.GetPolicyUUID(AppVars.pxCentralRootURL, basePolicyNumber);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message, "Error getting UUID from policy online!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        uploadToPxCentralWorker.ReportProgress(0);
                    }

                    ixLibrarySourceFileURL = AppVars.ixLibraryPolicyAttachmentsURL + finalPolicyName;

                    try
                    {
                        Transporter.UploadFileToixLibrary(AppVars.ixLibraryPolicyAttachmentsURL, file);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.Message);
                        uploadToPxCentralWorker.ReportProgress(0);
                        error = 1;
                    }
}

4 个答案:

答案 0 :(得分:3)

在这些情况下使用“continue”关键字。

使用的MSDN链接是here.

答案 1 :(得分:3)

试试continue keyword。它将在下一次迭代中继续循环。

答案 2 :(得分:2)

您可以使用continue keyword

foreach (string file in finalFiles)
{
   if(bad condition)
    continue;
}

答案 3 :(得分:1)

您可以使用continue语句。

Continue Statment