.NET 帮助

C# While (它是如何为开发人员工作的)

发布 2024年四月3日
分享:

在编程领域,循环是一种不可或缺的结构,它有助于根据指定条件重复执行代码块。在 C# 中大量的循环类型中,"while "循环以其简单性和多功能性脱颖而出。while "循环语法简单,功能强大,只要指定的条件或迭代语句成立,开发人员就可以反复执行代码。

本综合指南深入探讨了 "while "循环的细微差别。 C# "while" 循环提供详细解释、实用代码示例和最佳实践,帮助开发人员掌握这一基本结构。本书还讨论了如何在 C# 中使用 while 关键字来创建 PDF 报告数据。 IronPDF.

1.了解 C# While 循环

C#"while "循环的核心是,只要指定的条件或迭代值评估为 "true",就会重复执行代码块。while' 循环语句的语法如下:

// while loop
while (condition)
{
    // Code block to execute
}
// while loop
while (condition)
{
    // Code block to execute
}
' while loop
Do While condition
	' Code block to execute
Loop
VB   C#

在这里,"条件 "代表布尔表达式或循环变量,决定循环是否应继续迭代。只要 "条件 "为真,"while "循环括号内的代码块就会重复执行。一旦 "条件 "的值为假,循环就会终止,程序和控制流就会转移到 "while "循环后面的语句。

2.实用代码示例

现在,让我们通过实际示例来说明 "while "循环在各种情况下的用法。

示例 1:倒计时计时器

int count = 5;
while (count > 0)
{
    Console.WriteLine($"Countdown: {count}");
    count--;
}
Console.WriteLine("Blastoff!");
int count = 5;
while (count > 0)
{
    Console.WriteLine($"Countdown: {count}");
    count--;
}
Console.WriteLine("Blastoff!");
Dim count As Integer = 5
Do While count > 0
	Console.WriteLine($"Countdown: {count}")
	count -= 1
Loop
Console.WriteLine("Blastoff!")
VB   C#

在此示例中,只要 "count "变量大于 0,"while "循环就会迭代,每次迭代都会将 "count "递减 1 并打印倒计时值。一旦 "count "变为 0,循环终止,"Blastoff!显示"......"。

输出端

C# While(如何为开发人员工作):图 1 - 倒计时器输出

示例 2:用户输入验证

string userInput;
// infinite loop
while (true)
{
    Console.Write("Enter a positive number: ");
    userInput = Console.ReadLine();
    if (int.TryParse(userInput, out int number) && number > 0)
    {
        Console.WriteLine($"You entered: {number}");
        break;
    }
    else
    {
        Console.WriteLine("Invalid input. Please try again.");
    }
}
string userInput;
// infinite loop
while (true)
{
    Console.Write("Enter a positive number: ");
    userInput = Console.ReadLine();
    if (int.TryParse(userInput, out int number) && number > 0)
    {
        Console.WriteLine($"You entered: {number}");
        break;
    }
    else
    {
        Console.WriteLine("Invalid input. Please try again.");
    }
}
Dim userInput As String
' infinite loop
Do
	Console.Write("Enter a positive number: ")
	userInput = Console.ReadLine()
	Dim number As Integer
	If Integer.TryParse(userInput, number) AndAlso number > 0 Then
		Console.WriteLine($"You entered: {number}")
		Exit Do
	Else
		Console.WriteLine("Invalid input. Please try again.")
	End If
Loop
VB   C#

在这个示例中,"while "循环语句无限期地循环下去,直到用户输入一个有效的正数。它提示用户输入,验证输入,如果输入是有效的正数,则跳出循环。

输出

C# While(如何为开发人员工作):图 2 - 输入验证输出

例 3:生成斐波那契数列

int a = 0, b = 1, nextTerm;
Console.WriteLine("Fibonacci Series:");
while (a <= 1000)
{
    Console.WriteLine(a);
    nextTerm = a + b;
    a = b;
    b = nextTerm;
}
int a = 0, b = 1, nextTerm;
Console.WriteLine("Fibonacci Series:");
while (a <= 1000)
{
    Console.WriteLine(a);
    nextTerm = a + b;
    a = b;
    b = nextTerm;
}
Dim a As Integer = 0, b As Integer = 1, nextTerm As Integer
Console.WriteLine("Fibonacci Series:")
Do While a <= 1000
	Console.WriteLine(a)
	nextTerm = a + b
	a = b
	b = nextTerm
Loop
VB   C#

此代码片段使用 "while "循环生成最大值为 1000 的斐波那契数列。它使用前两个斐波那契数字初始化两个变量 "a "和 "b",然后迭代计算并打印后续项的增量,直到 "a "超过 1000。

输出

C# While(如何为开发人员工作):图 3 - 斐波那契数列输出

3.使用 C# While 循环的最佳实践

虽然 "while "循环提供了灵活性和便利性,但必须遵守最佳实践,以确保代码的高效性和可维护性:

1.确保终止:始终确保循环条件最终为假,以防止出现无限循环,导致程序冻结或崩溃。

2.初始化循环变量:在循环外初始化循环控制变量,以避免因未初始化变量而导致意外行为或无限循环。

3.更新循环变量:更新循环体内的循环控制变量,以确保在循环终止条件方面取得进展。

4.少用 break 和 continue:虽然 "break "和 "continue "语句很有用,但过度使用会导致代码错综复杂,难以阅读。如果大量使用 "break "和 "continue "语句,请考虑使用其他方法或重构复杂的循环。

5.保持循环条件简单:保持循环条件简洁明了,以提高可读性并将逻辑错误的风险降至最低。

4.IronPDF

IronPDF 是 C# 开发领域的基石解决方案,它为开发人员提供了一个强大的工具包,用于在其应用程序中无缝生成、编辑和操作 PDF 文档。凭借其直观的应用程序接口(API)和广泛的功能集,IronPDF 使开发人员能够毫不费力地将 PDF 功能集成到他们的 C# 项目中,从而在文档生成、报告和内容发布方面释放出无数的可能性。

4.1.安装 IronPDF

使用 NuGet 软件包管理器控制台可以轻松安装 IronPDF。只需运行以下命令即可安装 IronPDF。

Install-Package IronPdf

4.2.将 IronPDF 与 C# While 循环集成

让我们举一个例子,使用 "while "循环动态填充数据,并使用 IronPDF 生成 PDF 报告。

using IronPdf;
using System;
class Program
{
    static void Main(string [] args)
    {
        // Initialize PDF Renderer
        var pdfRenderer = new ChromePdfRenderer();
        // Initialize HTML content
        string htmlContent = "<h1>Dynamic Data Report</h1><ul>";
        // Generate dynamic data using a while loop executes
        int count = 1;
        while (count <= 10)
        {
            htmlContent += $"<li>Data Point {count}</li>";
            count++;
        }
        htmlContent += "</ul>";
        // Render HTML content as PDF
        var pdfOutput = pdfRenderer.RenderHtmlAsPdf(htmlContent);
        // Save PDF to file
        var outputPath = "Dynamic_Data_Report.pdf";
        pdfOutput.SaveAs(outputPath);
        // Display success message
        Console.WriteLine($"PDF report generated successfully: {outputPath}");
    }
}
using IronPdf;
using System;
class Program
{
    static void Main(string [] args)
    {
        // Initialize PDF Renderer
        var pdfRenderer = new ChromePdfRenderer();
        // Initialize HTML content
        string htmlContent = "<h1>Dynamic Data Report</h1><ul>";
        // Generate dynamic data using a while loop executes
        int count = 1;
        while (count <= 10)
        {
            htmlContent += $"<li>Data Point {count}</li>";
            count++;
        }
        htmlContent += "</ul>";
        // Render HTML content as PDF
        var pdfOutput = pdfRenderer.RenderHtmlAsPdf(htmlContent);
        // Save PDF to file
        var outputPath = "Dynamic_Data_Report.pdf";
        pdfOutput.SaveAs(outputPath);
        // Display success message
        Console.WriteLine($"PDF report generated successfully: {outputPath}");
    }
}
Imports IronPdf
Imports System
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Initialize PDF Renderer
		Dim pdfRenderer = New ChromePdfRenderer()
		' Initialize HTML content
		Dim htmlContent As String = "<h1>Dynamic Data Report</h1><ul>"
		' Generate dynamic data using a while loop executes
		Dim count As Integer = 1
		Do While count <= 10
			htmlContent &= $"<li>Data Point {count}</li>"
			count += 1
		Loop
		htmlContent &= "</ul>"
		' Render HTML content as PDF
		Dim pdfOutput = pdfRenderer.RenderHtmlAsPdf(htmlContent)
		' Save PDF to file
		Dim outputPath = "Dynamic_Data_Report.pdf"
		pdfOutput.SaveAs(outputPath)
		' Display success message
		Console.WriteLine($"PDF report generated successfully: {outputPath}")
	End Sub
End Class
VB   C#

在这个示例中,我们初始化了一个 HTML 字符串,其中包含一个标题和一个无序列表。然后,我们使用 "while "语句动态生成具有增量数据点的列表项。我们使用 IronPDF 的 ChromePdfRenderer 将 HTML 内容渲染为 PDF,并将生成的 PDF 报告保存到名为 "Dynamic/_Data/_Report.pdf "的文件中。这演示了如何将 "while "循环与 IronPDF 无缝集成,以便在 C# 应用程序中生成动态和可定制的 PDF 文档。

输出

C# While(如何为开发人员工作):图 4 - IronPDF 输出的 While 循环

5.结论

总之,"while "循环是 C# 编程中的一种基本结构,它为开发人员提供了一种灵活而强大的机制,可根据指定条件迭代执行代码。通过了解与 "while "循环相关的语法、用法和最佳实践,开发人员可以有效地利用这种结构来应对各种编程挑战。从简单的倒计时计时器到复杂的数据处理任务,"while "循环都能帮助开发人员编写高效、可维护的代码。

此外,如果与 IronPDF在 C# 中,"while "循环可用于生成动态的、具有视觉吸引力的 PDF 文档,从而增强 C# 应用程序的功能。随着开发人员不断探索 C# 编程的可能性,掌握 "while "循环对于构建稳健、可扩展的软件解决方案仍然至关重要。

有关 IronPDF 的文档,请访问 开始页面 今天。

< 前一页
C# 日志(它如何为开发人员工作)
下一步 >
C# 简介(对开发者来说是如何工作的)

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >