- 博客(212)
- 资源 (62)
- 收藏
- 关注
原创 godotenv拜读
应用提倡将配置存储在环境变量中。任何从开发环境切换到生产环境时需要修改的东西都从代码抽取到环境变量里。但是在实际开发中,如果同一台机器运行多个项目,设置环境变量容易冲突,不实用。godotenv库从.env文件中读取配置, 然后存储到程序的环境变量中。在代码中可以使用读取非常方便。这是一个比较简单的开源项目,目前拜读了,关于加载配置文件,但是parse.go 文件写的比较复杂, 自己手痒仿制一个。github地址:https://github.com/joho/godotenv。
2024-09-11 16:33:35 461
原创 Go 语言中SplitByChars 方法
在 Go 语言中,标准库中的 strings 包并没有直接提供一个按照多个字符分割字符串的函数,类似于 C# 中的 split() 函数,该函数可以指定多个分隔符。但是,你可以通过一些组合函数和逻辑来实现相同的效果。
2024-09-11 15:02:55 266
原创 win 中P处理 添加应用程序到防火墙白名单中
当防火墙使用白名单策略时,管理员需要明确指定哪些IP地址、端口、应用程序或服务是被信任且允许通过的。其他未列在白名单中的对象将被防火墙阻止,从而提高网络的安全性。但也需要谨慎维护,确保白名单列表是准确、完整且及时更新的,以免无意中阻止了合法的访问。防火墙白名单是一种访问控制策略,用于在防火墙上指定允许访问网络或资源的对象列表。在白名单中列出的对象将被允许通过防火墙,而不在白名单中的对象将被阻止访问。总之,防火墙白名单是一种安全措施,用于明确列出被授权的对象,只允许这些对象通过防火墙,而其他对象则被阻止。
2024-08-27 08:26:37 137
原创 MaterialDesign 5.0使用报错 IOException: 找不到资源“themes/materialdesigntheme.defaults.xaml”
MaterialDesign 5.0使用报错 IOException: 找不到资源“themes/materialdesigntheme.defaults.xaml”上述两种方式都可以导入MaterialDesig 修改是【App.xaml】文件,其中x:Class=“WpfApp_demo.App” 需要改成自己项目的。
2024-08-23 08:57:17 226
原创 C# 中Linq探讨 Or条件拼接
然而,如果你需要根据不同的条件动态地构建查询(例如,用户可能只输入了名字,或者只输入了年龄范围,或者两者都输入了),那么 PredicateBuilder 就变得非常有用。PredicateBuilder 的主要用途是构建复杂的逻辑表达式,特别是当你需要动态地添加条件时(例如,在运行时根据用户的输入构建查询)。虽然没有一个特定的NuGet包专门用于拼接LINQ的OR条件,但你可以使用PredicateBuilder这样的模式或直接在查询中编写条件来达成目的。方法一:使用PredicateBuilder。
2024-08-20 17:05:19 427
原创 C#中客户端直接引用服务端Proto文件
gRPC 客户端是从 .proto 文件生成的具体客户端类型。具体 gRPC 客户端具有转换为 .proto 文件中 gRPC 服务的方法。到此配置完成,然后就和服务共用一份protocol文件。下一步打开【服务引用】 控制面板。选择grpc选项,然后继续。
2024-08-19 10:49:30 327
原创 C# 中引用类型的探讨
将其保留在方法外部。为此,请使用 ref 或 out 关键字传递参数。为简单起见,下面的示例使用 ref。用对象的数据,例如类成员的值。但是,不能更改引用本身的值;例如,不能使用相同引用为新对象分配内存,并。引用类型的变量不直接包含其数据;它包含对其数据的引用。如果按值传递引用类型参数,则可能更改属于所引。如果方法中不希望更改引用类型指向,可以使用关键字 in。
2024-08-06 17:54:35 196
原创 C# 中读取byte[]转化成数字
读取网络字节流时候,使用BinaryReader的ReadInt32()方法时候发生了预期外的结果,查阅了微软文档发现是小端( )模式问题,可以通过System.Net.IPAddress.HostToNetworkOrder或BinaryPrimitives.ReadInt32BigEndian 方式来解决。以下示例代码,提供参考。
2024-08-05 16:02:43 376
原创 C#中压缩文件夹,及其内容
压缩包格式,本文主要用于说明如何使用代码 文件或文件夹压缩为 zip压缩包及其解压操作,调用时候最好用 DoCompressDirectoryInfo方法。下面分两个版本进行实现。
2024-07-22 15:56:15 316
原创 C# 中用 TopShelf服务创建和延迟运行
以下是一个简单的示例,展示了如何使用 TopShelf 创建一个服务,并在服务启动后延迟执行某些操作。你可以通过 Topshelf 提供的命令行工具来安装、卸载和启动服务。你可以通过这种方式来配置 Topshelf 服务,使其符合你的需求。这样一来,当系统启动后,服务会在一段时间后自动启动,而不是立即启动。在这个例子中,我创建了一个简单的定时器来模拟服务的持续运行。此外,根据你的具体需求,你可能需要调整服务的逻辑和配置。如果你想使用 Topshelf 来配置一个延迟自动启动类型的服务,可以通过设置。
2024-07-19 09:10:26 397
转载 C# SelectMany 的使用
以下示例定义了一个名为 GetVowels 的方法,该方法返回参数数组中的所有元音。数组,可通过可变数量的自变量来调用方法。使用 params 关键字标记的参数必须为数组类型,并且必须是该方。调用方不需要为包含 params 修饰符的形参提供任何实参。有时,向方法指定精确数量的自变量这一要求是受限的。通过传递引用类型的参数,可以更改引用本身的值,而不是其单个元素或字段的值。向该方法传递相应类型的单独自变量的逗号分隔列表。传递相应类型的数组,该类型包含所需数量的元素。法的参数列表中的最后一个参数。
2024-07-12 15:14:38 78
原创 C# 中,使用 LINQ 示例 备忘
语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。数据查询历来都表示为简单的字符串,没有编译时类型检查或 IntelliSense 支持。花色包含 13 个值。通常情况下,你可能会立即考虑创建一个 Card 类,然后手动填充一组 Card 对象。通常的方式,使用 LINQ 创建一副扑克牌更加简捷。可以创建两个序列来分别表示花色和点数,而非创建 Card。对于编写查询的开发者来说,LINQ 最明显的“语言集成”部分就是查询表达式。通常一副扑克牌包含四种花色,每种。
2024-07-11 17:13:14 274
原创 C# 中使用模式匹配 备忘
在使用正则表达式匹配字符串时,正则表达式自己就是一个模式,而对字符串使用这段正则表达式进行匹配的过程就是模式匹配。而在代码中也是同样的,我们对对象采用某种模式进行匹配的过程就是模式匹配。某些类型包含 Deconstruct 方法,该方法将其属性解构为离散变量。当 x 或 y 为 0(但不是两者同时为 0)时,前一个开关中的弃元模式匹配。如果这些情况都不匹配,则 switch 表达式将引发异常。用位置模式检查对象的属性并将这些属性用于模式。下面的方法使用位置模式来提取 x 和 y 的值。
2024-07-09 18:03:35 268
原创 C#中 有内置环形链表吗,如果有请给出使用示例代码
这段代码演示了如何创建一个简单的环形链表类,并实现了基本的插入、删除和遍历操作。请注意,为了形成环形链表,每次在添加新节点或删除节点后,需要更新尾节点的Next指向头节点,以保持链表的环形结构。在C#中,并没有内置的环形链表数据结构,但是可以通过自定义实现来模拟环形链表的功能。一种常见的方法是创建一个环形链表的节点类,并在链表类中实现插入、删除、遍历等操作。
2024-07-09 17:56:48 157
原创 C#中关于表达式的构建示例,备忘
中的计算表达式提供一种用于编写计算的便捷语法,可以通过使用控制流构造和绑定对这些计算进行排序和组合。根据计算表达式的类型,可以将其视为表示 monad、monoids、monad 转换器和 applicative functor 的一种方式。但是,与其他语言(例如 Haskell 中的 do-notation)不同,它们不依赖于单一抽象,也不依赖宏或其他形式的元编程来实现上下文相关的便捷语法。以下程序使用 Expression 类根据不同的 x 和 y 值计算表达式 x * (y + 2)。
2024-07-03 16:49:48 274
原创 C#如何在异步任务中调用及取消一个长时间运行的同步方法
要想使用 Thread,需要在程序中引用 System.Threading 命名空间,然后再提供一个供线程调度的方法,这个方法是通过 Thread 中的 ThreadStart 委托代理的,下面的代码展示了如何创建线程。假设在多线程的代码中包含了多段的 INSERT 数据库类的方法,那么你调用 Abort 很可能就只能执行了一部分 INSERT 语句,而一部分没执行 导致数据库的这段数据不完整。Abort虽然可以立即强制终止线程,但是带来的危险也是明显的,所以我们一定要知道代码的具体作用,用起来会安心。
2024-05-23 15:31:43 275
原创 Rx.Net 第四章
本章所涵盖的内容几乎会在你创建的每个可观察对象管道中用到:所有可观察对象都实现IObservable接口。要从符合事件模式的事件中创建一个可观察对象(使用的委托接收一个sender和EventArgs),请使用FromEventPattern操作符。您可以使用FromEventPattern操作符的重载,它允许您传递一个对象并指定要从中创建可观察对象的事件的名称。要创建一个只发出一个通知的可观察对象,可以使用observable . return操作符。下一章将扩展你关于创建可观察对象的知识。
2024-04-19 15:42:23 743
原创 Windows中,应用添加到防火墙白名单里面批处理命令
在 Windows 中,你可以使用 PowerShell 脚本或者批处理命令来将程序添加到防火墙白名单中。将上述代码保存为 .bat 文件,然后以管理员身份运行该批处理文件。这将在防火墙中添加一个新规则,允许指定程序的入站连接。将上述代码保存为 .ps1 文件,然后运行 PowerShell 窗口,使用管理员权限运行该脚本。如果你更倾向于使用批处理命令,你可以使用。
2024-04-19 13:33:04 576
原创 Rx.Net 第三章 linq介绍
匿名类型简化了查询,因为它提供了类型的内联创建,您可以使用这些类型来存储查询结果,这些结果应该只在一个范围内可见。您可以使用LINQ进行过滤集合的简单查询,以及涉及将两个集合连接在一起的更复杂的查询。在c#中,您使用方法链技术来构建特定于领域的语言(dsl)来表达您所编程的领域。LINQ使查询集合变得超级简单,它的抽象允许对不同的底层存储库执行相同的查询。延迟执行允许您创建在使用查询结果时执行的查询,而不是在创建查询时执行。要完成方法链接,使用流畅的接口和扩展方法。
2024-04-16 17:56:20 413
原创 RX.Net 第二章 hello Word
要在应用程序中正确使用Rx并使用所有丰富的操作符,您需要学习它们以及将它们组合在一起的技术,这就是本书的全部内容。本章提供了一个简单而强大的例子,你可能在过去做过(或者将来可能会做),并以两种方式解决它:传统的事件风格和Rx风格的事件处理流。您可以在任何类型的应用程序中使用Rx WPF桌面客户端,asp.net网站或简单的控制台应用程序等。Rx提供了许多查询操作符,例如使用Where操作符进行过滤,使用Select操作符进行转换等等。在下一章中,你将学习函数式的思维方式,它与。大多数情况下,您将安装系统。
2024-04-16 15:17:27 477
原创 RX.Net 第一章
在响应式编程中,您使用时变变量来保存值,这些值通过对其依赖项发生的变化做出反应而更改。在下一章中,您将有机会构建第一个Rx应用程序,并将其与用传统的事件处理方式编写相同的应用程序进行比较。在响应式系统中,Rx被放置在消息驱动槽中,就像您希望处理应用程序接收到的消息的方式一样。异步性是响应性最重要的部分之一,因为它允许您更好地使用资源,从而使应用程序响应更快。可观察对象可以发出带有有效负载的通知,在其完成时发出通知,并在出现错误时发出通知。可观察对象是通知的生产者,观察者订阅它来接收这些通知。
2024-04-15 16:30:52 160
原创 WPF 示例自定义的 DataTemplateSelector
在这个示例程序中,我们定义了两种不同的 DataTemplate (Template1 和 Template2),然后创建了一个 CustomDataTemplateSelector 类来根据 DataItem 的 TemplateType 属性选择相应的 DataTemplate。请将此代码片段复制到您的WPF项目中,并确保已定义了对应的ViewModel和数据类型。当然,我可以为您提供一个简单的 WPF 示例程序,其中包含一个自定义的 DataTemplateSelector。
2024-02-24 11:23:50 1274
原创 c#如何判断一个类型是否为数值类型,请给出通用方法
用于判断类型是否为内置的基元类型,同时排除了布尔类型和字符类型。如果一个类型既是内置的基元类型,又不是布尔类型或字符类型,则被认为是数值类型。属性来判断一个类型是否为内置的数值类型。这种方法更加通用,因为它会考虑到未来可能添加的新的数值类型。是的,除了手动列举全部数值类型外,还可以使用。值,表示该类型是否为数值类型。
2024-02-24 10:32:30 922
原创 C# 使用net8.0使用 Pomelo.EntityFrameworkCore.MySql 7.0 报错异常Method not found: ‘Void CoreTypeMappingParame
解决办法使用Pomelo.EntityFrameworkCore.MySql 8.0 ,或者使用项目对应的Pomelo.EntityFrameworkCore.MySql 版本。C# 使用net8.0使用 Pomelo.EntityFrameworkCore.MySql 7.0 会造成版本不兼容报错,
2024-02-22 13:18:59 1377
原创 Wpf中集合对象绑定所在ViewModel的属性
在按钮的 Command 属性中,我们使用了 RelativeSource 来找到 ListBox 的 DataContext(即 ViewModel),并将其中的 ButtonCommand 属性绑定为按钮的命令。要将集合中的对象绑定到 ViewModel 中的 Command,可以使用 ItemContainerStyle 和 Button 的 Command 属性来实现。这样,当你运行程序时,会为每个列表项生成一个按钮,并且按钮点击时会触发 ViewModel 中的 Command。
2024-01-27 17:26:22 777
原创 C#中类型装换
在上述示例中,我们通过反射获取了MyClass类中的MyProperty属性的信息,然后使用Convert.ChangeType()方法将字符串类型的值"10"转换为属性的类型(int),最后使用反射设置属性的值为转换后的值10。在C#中,可以使用Convert.ChangeType()方法进行类型转换。这个方法可以将一个对象转换为指定的类型。
2024-01-27 15:24:51 317
原创 后台代码New出来DataGridTextColumn 动态添加到DataGrain 设置 Margin属性
在上面的示例中,我们创建了一个 DataGridTextColumn 实例,并设置了列头名称。在这个示例中,我们使用了 DataGridTemplateColumn 替代了 DataGridTextColumn,并在 CellTemplate 中使用了一个 TextBlock,然后为 TextBlock 设置了 Margin 属性。你可以根据实际需求调整 Margin 的数值。请注意,在 TextBlock 的 Text 属性中我们使用了 YourPropertyName,你需要将其替换为你实际的属性名。
2024-01-13 13:50:28 542
原创 C# 中 async/await 遇上 forEach 两种写法,是否按照遍历?
在 C# 中,async/await 与 forEach 可以搭配使用,但需要注意的是,forEach 本身不是一个异步操作,它会按顺序同步地遍历集合中的元素,并将每个元素作为参数传递给回调函数。运行以上代码,你会发现 forEach 循环会立即输出 “forEach 循环完成”,而后再一次性输出所有数字,因为 async/await 在 forEach 循环中并不起作用。需要注意的是,对于 forEach 循环中的异步操作,你无法保证它们会以预期的顺序执行,因为它们是并行执行的。
2023-12-29 09:06:46 1241
原创 .netcore 控制台程序,在window操作系统中,怎么获取管理员权限运行此程序
中指定管理员权限,因此程序需要重新生成和发布。在程序运行时无法动态获取管理员权限。文件设置为嵌入式资源。
2023-12-20 10:19:44 756
原创 netcore 监听系统时间发生改变事件
0 PC 显示的日期或时间不正确,在「设置」应用中就可以快速、轻松地进行更改。我们可以将 Windows 10 配置为,根据当前位置来确定时间。但这并不总是能正常工作,例如重启 Windows 时,遇到仍然会获取到错误时间的问题。代码中用到的类库 SystemTimeChanged,可以到这里下载:https://download.csdn.net/download/weixin_43542114/88582319。下边可以使用代码监听系统时间发生改变事件,示例代码。
2023-11-30 10:22:34 479
原创 C#中 怎么检测Tcp网线断开?
在 C# 中,如果使用 TcpClient 或 TcpListener 这样的套接字进行通信,并且网络连接断开,不发送心跳是无法立即检测到断开的。当使用 TCP 进行通信时,通常是通过发送和接收数据来维持连接的活跃状态。如果没有数据传输,并且不发送心跳包,那么时间一过,连接就会被认为是空闲的,而不管实际上该连接是否仍然存在。这样,操作系统将自动发送心跳包,以检测连接的活跃性。当使用 C# 进行 TCP 连接时,下面是一些示例代码,演示如何使用各种方法来检测连接是否断开。
2023-11-29 17:52:14 2463
原创 python 通用方法 遍历指定目录下的所有文件(包括子目录下的文件)
【代码】python 通用方法 遍历指定目录下的所有文件(包括子目录下的文件)
2023-11-15 08:49:14 274
原创 VScode 调试go程序报错,需要更改glaunch.json文件
【代码】VScode 调试go程序报错,需要更改glaunch.json文件。
2023-10-30 16:18:12 279
原创 代码大全阅读随笔(十二)完结
同样,子程序中有多于十个的判断点、三层以上的逻辑嵌套,过多的变量,或者其他类联系过去紧密,或者内部代码内聚性不强,都是警告标识。合作发开要求团队程序员之间广福安的沟通,甚至于同计算机的交互,而单人开发则是自我交流,其次才是与计算机。好性格与培养正确的习惯关系甚大,要成为杰出的程序员,先要养成良好的习惯,其他自然水到渠成。最有关系的性格为:谦虚,求知欲,诚实,创造性和纪律,以及高明的偷懒。注意告警信息,将其作为编程疑点,因为编程几乎是纯粹的智力活动。出乎意料的是,小聪明,经验,坚持和疯狂即有助也有害。
2023-10-23 14:13:42 89
原创 代码大全阅读随笔(十一)
针对每个特定的项目,最佳的集成步骤通常是自顶向下,自底向上,风险导向以及其他集成方法的某种组合。针对每个特定的项目,最佳的集成步骤通常是自顶向下,自底向上,风险导向以及其他集成方法的某种组合。源代码应当含有程序大部分的关键信息,只要程序依然再用,源代码比其他资料更能保持更新,故而能将重要信息融入代码是很有用处的。好的代码本省就是最好的说明。增量集成有若干变型,而且-除非项目是微不足道的- 任何一种形式的增量集成都比阶段式集成好。编辑,分析代码质量,重构,版本控制,除错,测试,代码调整。
2023-10-21 15:03:30 215
原创 代码大全阅读随笔(十)
不要为了代码调整而调整,要根据实际项目需求而定。如果在非必要的性能提升上,付出代码可读性,可维护性等为代价,则大可不必。代码调整的利器之一就是良好的子程序分解。短小,定义明确的子程序能够代替多处单独执行相同的操作代码。优化结果在不同的语言,编译器和环境下有很大的差异。如果没有对每一次优化进行测量,你将无法判断优化到底是否有意义。第一次优化通常不会是最好的,即使找到了效果很不错,也不要停下扩大战果的步伐。根据各种情况对出现频率比较高的,判断条件写在前面。将关键影响程序的代码,转化为低级语言编写。
2023-10-09 08:46:29 53
原创 代码大全阅读随笔(九)
相对于代码本身的效率而言,程序的架构,细节设计以及数据结构和算法选择对程序的运行速度和资源占用通常会更大。定量测量需要找出能真正解决程序性能部分,在修改之后,应当通过重复测量修改是提高还是降低了软件的性能。为了性能优化工作做好准备,最佳方式就是在最初代码编写清晰额代码,从而使代码在后续工作中易于理解和修改。在修改中软件的质量要么改进,要么恶化,软件演化的首要法则就是,代码演化应当提升程序的内在质量。重构成功的最后要点再远,安全重构的策略。蕴含哲理的一句话,如果你的坑挖的足够深,你总会看到惊人的宝藏。
2023-09-24 13:33:02 99
WebApplication_GrpcServer.zip
2022-01-07
thriftSoft.rar
2021-11-16
C#MySQL各个版本驱动库Assemblies.zip
2021-07-30
NPOI 2.3.0.0.zip
2021-07-06
VB生成标准Dll.zip
2021-05-26
netcore,netFramework,监听系统时间发生改变,PC 显示的日期或时 SystemTimeChanged.7z
2023-11-30
C# 如何实现对“属性”的扩展
2023-05-12
Java编程大Android 应用 Apk自动升级
2022-10-31
python最新安装包-3.10.7-amd64.zip
2022-09-19
Rust编译器是在MIT License 和 Apache License 2.0双重协议声明下的免费开源软件
2022-09-19
wasm-tools A Bytecode Alliance project Rust tooling for low-lev
2022-09-19
ActorSim.zip orelans示例
2022-09-16
com0com是windows内核模式下的虚拟串口驱动程序. 解压密码:123
2022-09-16
Orleans.Redis刚才翻看Orleans的官方网站,发现除了大家关注比较多的"Step-by-step Tutorial
2022-06-24
Emgu CV是OpenCV图像处理库的跨平台.Net包装器
2022-03-20
ruby安装包,window安装包
2022-03-19
Spring.NET应用实例,ICO依赖注入
2022-01-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人