C#学习笔记
文章平均质量分 71
健身版程序猿
物联网&通信 主业c#上位机,转WPF中,记录自己在学习WPF中遇到的每个问题,自学C++、YANG
展开
-
Rijndael 算法的加密与解密
综上所述,`RMCrypto.CreateEncryptor(key, key)` 方法使用密钥和初始化向量来创建一个加密转换器,该转换器可以在 `CryptoStream` 中使用,用于执行实际的加密操作。密钥和初始化向量的值都是关键的加密参数,它们决定了加密算法的工作方式和加密结果的唯一性。初始化向量是在加密过程中使用的一个固定长度的随机值。在这里,代码使用相同的密钥作为初始化向量,但实际上,更好的做法是生成一个随机的初始化向量。该方法使用指定的密码对输入文件进行加密,并将加密后的数据写入输出文件。原创 2023-06-20 10:28:06 · 1161 阅读 · 0 评论 -
基于C#语言使用Renci.SshNet库和NetConf连接进行网络设备交互
Renci.SshNet是一个开源的 SSH 客户端库,用于在 .NET 应用程序中进行 SSH 连接和操作,可以通过 NuGet 包管理器将它添加到你的项目中,或者从其官方网站或 GitHub 页面下载源代码。2. 执行 SSH 操作:在连接成功后,你可以使用 `SshClient` 对象的方法来执行各种 SSH 操作,例如执行命令、上传和下载文件等。1. 创建 SSH 连接对象:使用 `SshClient` 类创建一个 SSH 连接对象,并设置连接所需的主机名、用户名和密码等信息。原创 2023-06-08 13:56:04 · 2277 阅读 · 0 评论 -
C#中dynamic关键字的使用以及和var关键字的区别
使用 `dynamic` 类型可能会失去编译时的类型检查和 IntelliSense 支持,因此需要谨慎使用,并确保在运行时处理类型不匹配的情况。- `dynamic` 是动态类型,在编译时不进行类型检查,类型检查推迟到运行时。- 如果变量的类型无法在编译时确定,需要在运行时动态确定类型,并且你愿意放弃类型安全性和 IntelliSense 支持,可以使用 `dynamic`。在这个示例中,通过 `dynamic` 关键字声明的变量 `obj` 可以调用任意的方法和属性,而不需要提前确定对象的具体类型。原创 2023-05-30 16:51:16 · 939 阅读 · 0 评论 -
WPF学习笔记:为什么WPF中改变了类或者实例的属性,都需要调用RaisePropertyChanged方法呢?
在 WinForms 中,数据绑定不是内置的,因此当属性值改变时,界面不会自动更新。而在 WPF 中,数据绑定是内置的,并且采用了更为强大和灵活的机制。当属性值发生改变时,WPF 可以自动检测到这种变化,并更新绑定的控件以反映最新的值。因此,这种自动更新机制是 WPF 相对于 WinForms 的一个重要区别之一,使得 WPF 更适合处理复杂的数据绑定和界面交互。方法触发了属性更改事件,WPF 在接收到这个事件后,会重新获取属性的值并更新绑定的控件。这样,界面上的控件就能够显示最新的属性值。原创 2023-05-24 14:29:11 · 643 阅读 · 0 评论 -
C#控制台程序:查找某一文件夹下所有带特定标记的Excel文件,并将其中带有star标志的单元格信息输出(Excel文件名、表名、行列号和单元格值,及ReadTimeout异常处理
使用EPPlus库和NPOI库对文件夹下的Excel文件进行批处理,能够精准提取文件夹下符合要求的所有单元格数据,并输出文件名、表名和行列号;同时对处理大量Excel文件出现的System.InvalidOperationException 异常进行了解决。原创 2023-05-23 21:39:37 · 254 阅读 · 0 评论