.NET 帮助

C# REPL(它对开发者的工作原理)

发布 2024年一月27日
分享:

在广阔的 C# 编程环境中,有一个多功能工具为您的编码体验带来了动态和交互的维度 - C# REPL(读取-评估-打印循环). 跨平台命令行工具CSharpRepl在 GitHub 上还可以找到支持 IntelliSense 的 C# 解决方案。

在本文中,我们将探讨 C# 中的 REPL,揭示其功能、用例以及它如何改变您在 C# 中进行实验、学习和迭代的方式。

了解基础知识:C# 中的 REPL

"(《世界人权宣言》)REPLRead-Eval-Print Loop 是 Read-Eval-Print Loop 的缩写,通常发音为 "repple"。它是一种交互式编程环境,允许您逐行输入语法完整的 C# 语句代码,并对其进行实时评估和接收即时反馈。 其语法高亮功能使其在查看.NET 全局工具在控制台环境中运行 C# 时更具吸引力。 传统上,编写和运行 C# 代码涉及创建项目、编译和执行。 REPL 提供了一种快速、迭代的方法来测试单行或评估多行代码片段,从而简化了这一过程。

C# REPL 的交互性

C# REPL 提供了一个交互式 shell,您可以在其中键入 C# 表达式或语句,系统会立即对其进行评估和执行。 这种即时反馈回路对于尝试各种想法、测试小型代码片段或即时学习 C# 概念非常宝贵。

安装

要安装 CSharpRepl 命令行 .NET 工具,请在命令提示符下键入以下命令:

dotnet tool install -g csharprepl

安装完成后,使用以下命令访问它:

csharprepl

您将看到以下提示(>)说明您已进入 C# REPL 环境,准备开始实验。

C# REPL(如何为开发人员工作):图 1 - 启动 CSharpRepl 环境时的介绍信息

另外,您也可以使用 C# REPL 作为 Microsoft Visual Studio 中的内置 C# 交互式外壳。 打开 Visual Studio,从 "视图 "选项卡中选择 "其他窗口" -> "C# 交互"。它将在底部以控制台外壳的形式打开 C# REPL。

即时反馈的重要性

让我们通过一个基本示例来探索 C# REPL 的简单性和强大功能:

> int sum = 5 + 7;
> sum
> int sum = 5 + 7;
> sum
> Integer sum = 5 + 7
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'> sum
VB   C#

C# REPL(如何为开发人员工作):图 2 - 上一段代码的输出

在这两行中,我们声明了一个变量 sum,并将加法运算的结果赋给它。 按下 Enter 键后,REPL 会立即打印出 sum 的值,即 12。这种即时性允许您对代码进行实验、观察结果并做出相应调整。

迭代学习和原型设计

C# REPL 在迭代学习和原型设计方面大放异彩。 无论您是在探索语言特性、测试算法还是试用新库,REPL 都能为您提供一个低摩擦的环境。 您可以交互式地构建和完善您的代码,而无需进行完整的项目设置。

> for (int i = 0; i < 5; i++)
> {
>     Console.WriteLine($"Hello, C# REPL! Iteration {i}");
> }
> for (int i = 0; i < 5; i++)
> {
>     Console.WriteLine($"Hello, C# REPL! Iteration {i}");
> }
'INSTANT VB TODO TASK: The following line could not be converted:
> for(Integer i = 0; i < 5; i++) >
If True Then
> Console.WriteLine($"Hello, C# REPL! Iteration {i}")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'> }
VB   C#

在这个示例中,我们使用循环为每次迭代打印一条信息。 通过即时反馈,您可以在旅途中调整循环或尝试不同的语句。

访问外部库和 NuGet 软件包

C# REPL 支持在交互环境中直接引用外部库和 NuGet 软件包。 这一功能为探索和测试第三方功能提供了无限可能,而无需进行完整的项目设置。这可以从下面的代码中看到:

> #r "nuget:Newtonsoft.Json,12.0.3"
> using Newtonsoft.Json;
> public class Person
  {
      public string Name { get; set; }
      public int Age { get; set; }
  }
> var json = "{ 'name': 'John', 'age': 30 }";
> var person = JsonConvert.DeserializeObject<Person>(json);
> person.Name
> #r "nuget:Newtonsoft.Json,12.0.3"
> using Newtonsoft.Json;
> public class Person
  {
      public string Name { get; set; }
      public int Age { get; set; }
  }
> var json = "{ 'name': 'John', 'age': 30 }";
> var person = JsonConvert.DeserializeObject<Person>(json);
> person.Name
Private > #r "nuget:Newtonsoft.Json,12.0.3" > using Newtonsoft.Json
> Public Class Person
	  Public Property Name() As String
	  Public Property Age() As Integer
End Class
Private > var json = "{ 'name': 'John', 'age': 30 }"
Private > var person = JsonConvert.DeserializeObject(Of Person)(json)
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'> person.Name
VB   C#

在这个片段中,我们引用 Newtonsoft.Json NuGet 软件包,反序列化一个 JSON 字符串,并访问生成对象的 Name 属性。

C# REPL(如何为开发人员工作):图 3 - 上述代码的输出

交互式调试和故障排除

C# REPL 不仅用于编写代码; 它也是交互式调试的重要工具。 您可以尝试使用不同的表达式,了解它们在动态环境中的行为方式、发现问题并排除故障。

> int [] numbers = { 1, 2, 3, 4, 5 };
> numbers.Where(n => n % 2 == 0).Sum()
> int [] numbers = { 1, 2, 3, 4, 5 };
> numbers.Where(n => n % 2 == 0).Sum()
> Integer () numbers = { 1, 2, 3, 4, 5 }
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'> numbers.Where(n => n % 2 == 0).Sum()
VB   C#

在这里,我们使用 LINQ 表达式过滤偶数并计算其总和。 REPL 的交互特性允许我们检查中间结果并完善查询。

介绍IronPDF

C# REPL(开发人员如何使用):图 4 - IronPDF 网页

IronPDFfor .NET Core 是一个功能强大的 C# 库,旨在简化处理 PDF 的复杂性。 无论您是要生成发票、报告还是其他任何文档,IronPDF 都能让您毫不费力地在 C# 应用程序中直接将 HTML 内容转换为专业、精美的 PDF。

安装 IronPDF:快速入门

要将 IronPDF 整合到您的 C# 项目中,请启动 IronPDF NuGet 软件包的安装。 在软件包管理器控制台中执行以下命令:

Install-Package IronPdf

或者,您也可以在 NuGet 软件包管理器中找到 "IronPDF",然后继续安装。

使用 IronPDF 生成 PDF

使用 IronPDF 创建 PDF 是一个简化的过程。 请看下面的源代码示例:

var htmlContent = "<html><body><h1>Hello, IronPDF!</h1></body></html>";
// Create a new PDF document
var pdfDocument = new IronPdf.ChromePdfRenderer();
pdfDocument.RenderHtmlAsPdf(htmlContent).SaveAs("GeneratedDocument.pdf");
var htmlContent = "<html><body><h1>Hello, IronPDF!</h1></body></html>";
// Create a new PDF document
var pdfDocument = new IronPdf.ChromePdfRenderer();
pdfDocument.RenderHtmlAsPdf(htmlContent).SaveAs("GeneratedDocument.pdf");
Dim htmlContent = "<html><body><h1>Hello, IronPDF!</h1></body></html>"
' Create a new PDF document
Dim pdfDocument = New IronPdf.ChromePdfRenderer()
pdfDocument.RenderHtmlAsPdf(htmlContent).SaveAs("GeneratedDocument.pdf")
VB   C#

在本例中,IronPDF 用于将 HTML 内容渲染为 PDF 文档,并随后保存到指定的路径变量中。

C# REPL 和 IronPDF 的交集

现在,让我们来探讨一下 C# REPL(一种用于交互式编码和快速实验的工具)能否与 IronPDF 无缝集成。

考虑这样一种情况:您希望使用 C# REPL 动态生成 PDF 内容。 虽然 C# REPL 主要在交互式代码执行方面表现出色,但由于其注重即时反馈和简便性,可能不是与 IronPdf 无缝协作的理想环境。

不过,您仍然可以通过使用 C# REPL 快速创建代码原型、实验 IronPDF 功能和验证想法来充分利用这两种工具的优势。 从 NuGet 软件包管理器安装 IronPDF 后,您可以在 C# REPL 中直接引用 IronPdf.dll 文件。 下面是一个从 HTML 字符串 "Hello World "生成 PDF 的简单代码示例:

> #r "your\full\path\to\IronPdf.dll"
> var pdf = new ChromePdfRenderer();
> License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
> pdf.RenderHtmlAsPdf("<h1>Hello World</h1>").SaveAs("Test.pdf");
> #r "your\full\path\to\IronPdf.dll"
> var pdf = new ChromePdfRenderer();
> License.LicenseKey = "YOUR-LICENSE-KEY-HERE";
> pdf.RenderHtmlAsPdf("<h1>Hello World</h1>").SaveAs("Test.pdf");
Imports Microsoft.VisualBasic

> #r "your" & vbFormFeed & "ull\path" & vbTab & "o\IronPdf.dll" > var pdf = New ChromePdfRenderer()
> License.LicenseKey = "YOUR-LICENSE-KEY-HERE"
> pdf.RenderHtmlAsPdf("<h1>Hello World</h1>").SaveAs("Test.pdf")
VB   C#

输出结果是一份名为 "Test.pdf "的 PDF 文件,内容为 "Hello World":

C# REPL(如何为开发人员工作):图 5 - 前面代码的输出 PDF

要尝试在 C# REPL 中使用 IronPdf 进行更详细输出的更多代码示例,请访问IronPDF 文档page.

结论

总之,C# REPL 是一个动态的编码乐园,为您的 C# 编程体验增添了新的维度。 它的互动性质有利于探索、快速原型设计和迭代学习。 无论您是尝试使用语言功能的初学者,还是测试想法的经验丰富的开发人员,C# REPL 都能为您的编码冒险提供一个即时、动态的环境。

IronPdf 和 C# REPL 是 C# 开发人员工具包中的强大工具。 IronPDF 通过其功能丰富的库简化了 PDF 生成过程,而 C# REPL 则提供了一个交互式的即时编码环境。 C# REPL 与 IronPdf 协同工作的能力也能让您详细了解该环境的通用性。

拥抱 C# REPL 的简单和强大,提升您的编码工作流程。 无论您是在 REPL 中构建创意原型,还是使用 IronPDF 制作复杂的 PDF,这对充满活力的双人组合都能让您以创造力和效率驾驭复杂的 C# 开发。

IronPDF 可免费用于开发,并提供一个免费试用许可证. 其 Lite许可包起始价格具有竞争力。

< 前一页
Serilog .NET(如何为开发人员工作)
下一步 >
C# Yield Return(对开发者的工作原理)

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

免费NuGet下载 总下载量: 11,781,565 查看许可证 >