编辑
2025-09-17
C#
00

在这篇文章中,我们将学习如何在C#中实现一个简单的自定义脚本语言。这将包括解析脚本、执行命令以及实现基本的控制结构。我们将逐步构建这个示例,最终创建一个小型的脚本引擎。

定义语法

我们的自定义脚本语言将支持以下基本功能:

  • 变量定义 (let x = 10)
  • 数值输出 (print(x))

词法分析

首先,我们需要对输入的脚本进行词法分析,将其转换为标记(token)。这可以通过一个简单的状态机来实现。

编辑
2025-09-17
C#
00

引言

管道模式是一种强大的软件设计模式,它允许我们将复杂的处理任务分解为一系列较小的、独立的步骤。在C#中,这种模式可以带来显著的性能提升和代码可维护性的改善。本文将详细介绍如何在C#中实现管道模式,并探讨其各种变体和优化技巧。

管道模式基础

管道模式的核心思想是将数据处理分为多个阶段,每个阶段接收上一阶段的输出作为输入,并产生新的输出传递给下一阶段。这种方式类似于工厂的装配线,每个工作站都专注于特定的任务。

编辑
2025-09-17
C#
00

在.NET开发中,处理动态表达式计算是一个常见但具有挑战性的任务。今天,我们将深入探讨NCalc库,这是一个轻量yet功能强大的表达式解析和计算工具,可以帮助开发者轻松处理复杂的动态计算需求。

NCalc简介

NCalc是一个开源的.NET库,专门用于解析和计算数学表达式。它支持多种运算符、函数,并提供了极大的灵活性,使得在代码中动态执行计算变得非常简单。

安装与基本使用

首先,通过NuGet包管理器安装NCalc:

Bash
Install-Package NCalc
编辑
2025-09-17
C#
00

引言

在现代分布式系统中,消息队列扮演着至关重要的角色。RabbitMQ作为开源消息代理软件,凭借其高性能、可靠性和灵活性,成为开发者首选的消息中间件。本文将深入探讨如何在C#中使用RabbitMQ.Client,帮助你构建高效、可靠的消息传递系统。

准备工作

安装RabbitMQ.Client

在开始之前,你需要安装RabbitMQ.Client NuGet包。有两种方式:

  1. 在Visual Studio的NuGet包管理器中搜索并安装"RabbitMQ.Client"
  2. 在包管理器控制台运行命令:
C#
Install-Package RabbitMQ.Client

RabbitMQ基本概念

在深入代码前,让我们了解几个关键概念:

  • 连接(Connection):与RabbitMQ服务器的TCP连接
  • 通道(Channel):连接内的虚拟连接,用于执行大多数操作
  • 交换机(Exchange):接收并路由消息的核心组件
  • 队列(Queue):存储等待被消费的消息缓冲区
  • 绑定(Binding):定义交换机和队列间的关系
  • 路由键(Routing Key):决定消息路由方式的关键标识
编辑
2025-09-17
C#
00

什么是Modbus?

Modbus是一种广泛使用的工业通信协议,而NModbus4是一个用于.NET平台的开源Modbus库。本文将介绍如何在C#中使用NModbus4来实现Modbus通信。

它是一个Bus,即总线协议。

它被工业领域所接受的原因是它具备一下三个优点

  • 公开发表并且无版权要求
  • 易于部署和维护
  • 对供应商来说,修改移动本地的比特或字节没有很多限制

Modbus是主从方式通信,也就是说,不能同步进行通信,总线上每次只有一个数据进行传输,即主机发送,从机应答,主机不发送,总线上就没有数据通信。

下载地址

HTML
[https://github.com/NModbus4/NModbus4/](https://github.com/NModbus4/NModbus4/)

NModbus is a C# implementation of the Modbus protocol. Provides connectivity to Modbus slave compatible devices and applications. Supports serial ASCII, serial RTU, TCP, and UDP protocols. NModbus4 it's a fork of NModbus

“MIT LicenseMIT是和BSD一样宽松的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的。* 你可以使用,复制和修改软件* 你可以免费使用软件或出售* 唯一的限制是,它是必须附有MIT授权协议

合并版本

dotnet --list-runtimes

dotnet --list-sdks 查看本机安装的.net版本

dotnet new globaljson --sdk-version 2.1.602

dotnet migrate 先安装.net 2.1版本