public void ReNewHelper() { new Thread(() => { string strInput = "ipconfig/renew"; Process p1 = new Process(); //设置要启动的应用程序 p1.StartInfo.
配置是应用程序发布到各种环境的必备能力 核心组件包 Microsoft.Extensions.Configuration.Abstractions Microsoft.Extensions.Configuration 一个抽象包、一个实现包,也是使用了接口实现分离的设计模式 配置框架 以key-value字符串键值对的方式抽象了配置 支持从各种不同的数
NuGet: F23.StringSimilarity github: https://github.com/feature23/StringSimilarity.NET internal class Program { static void Main(string[] args) { var instance1 = new JaroWinkler(); // 0.43703702092170715
public static void Main(string[] args) { //当前主线程命名槽位 var slot = Thread.AllocateDataSlot(); Thread.SetData(slot, "jack"); var t = new Thread(() => { //slot对其他
C#10引入了日期DateOnly,时间TimeOnly: //从DateTime转换 Console.WriteLine(DateOnly.FromDateTime(DateTime.Now)); //从字会串转换 Console.WriteLine(DateOnly.Parse("2021-10-23")); //从0001-01-01到现在的天数 Console.WriteLine(DateOnly.FromDayNumber(738085)); //从Dat
C#10引入了日期DateOnly,时间TimeOnly: //从DateTime转换 Console.WriteLine(DateOnly.FromDateTime(DateTime.Now)); //从字会串转换 Console.WriteLine(DateOnly.Parse("2021-10-23")); //从0001-01-01到现在的天数 Console.WriteLine(DateOnly.FromDayNumber(738085)); //从Dat
1.sizeof的作用 我个人的理解:sizeof是用来获取非托管类型所占内存大小的操作符。 微软官方对sizeof的定义: sizeof 运算符返回给定类型的变量所占用的字节数。 sizeof 运算符的参数必须是一个sizeof的名称,或是一个限定为非托管类型的类型参数。 《微软官方文档》https:
原文地址:https://zhuanlan.zhihu.com/p/337698648 XmlDocument 类的方法和属性 XmlDocument 类的一些常用的属性: 属性描述 XmlAttributeCollection Attributes { get; } 获取当前节点的所有属性引用对象集合 XmlNodeList ChildNodes { get; } 获取子级节点集合 XmlElemen
包括通过查找数组中某个元素的下标(第⼀次出现时的下标,最后⼀次出现时的下标),查找某个数组中是否有某元素。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace study1_repeat { class Program { s
一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个 C# 程序至少有一个带有 Main 方法的类。 要使用一个方法,您需要: 定义方法 调用方法 C# 中定义方法 当定义一个方法时,从根本上说是在声明它的结构的元素。在 C# 中,定义方法的语法如下: <Access Specifier
C#发送http请求时,如果服务器返回了错误码和错误消息,按照传统模式就是直接抛出“系统异常”,然后把错误写入日志。这种方式不是很友好,于是调整代码,根据不同的错误码给出友好提示。核心代码如下: static void Main(string[] args) { try { WebClient web = new WebCl
using CLRConsole = System.Console; namespace ExtensionMethodsDemo { public static class Console { public static void WriteLine(string value) { CLRConsole.WriteLine(value); } public static void WriteBlu
本文主要介绍.NET(C#)中,HashSet<T>、SortedSet<T>和Hashtable的使用,以及相关的示例代码。 1、HashSet<T> HashSet<T>类提供高性能的设置操作。 集是不包含重复元素的集合,其元素无特定顺序。泛型的使用保证类型安全,可以避免装箱拆箱。对象的容量 HashSet<T> 是对象可以容纳的元素
目录 一、原子操作 1.基于Lock实现 2.基于CAS实现 3.自旋锁SpinLock 4.读写锁ReaderWriterLockSlim 二、线程安全 1.线程安全集合 2.线程安全字典 三、线程池 1.通过QueueUserWorkItem启动工作者线程 2.线程池等待(信号量) 3.Task 4.线程池调度原理 四、并行 五
(1)广义:将多个数据定义和行为定义装起来。 (2)狭义:将属性私有化,通过公有化的方式进行操作,提高代码的安全性。 看如下没有封装的例子: 创建一个员工类: public class Employee { //public:公有,所有地方都可以访问,private:私有,只有自己内部可以访问 //不封装 public string empNO;
一、枚举 C#语言中提供了枚举类型,枚举是为具有一组特定值的变量特别设计的一种自定义数据类型,是一种值类型,其成员由一组逻辑上相关的命名整型常量构成。 枚举举例: //枚举:(枚举和整数可以相互之间转换) public enum OrderStatus { 新订单 = 1, 已发货, 已收货 } static void Main(
一、原子操作 先看一段问题代码 /// <summary> /// 获取自增 /// </summary> public static void GetIncrement() { long result = 0; Console.WriteLine("开始计算"); //10个并发执行 Parall
引用网址:https://www.cnblogs.com/JamelAr/p/7062109.html 我们接着上一篇文章进行讲解 http://www.cnblogs.com/songjianhui/p/7060698.html 一:客户端通过添加引用调用服务 WCF应用服务被成功寄宿后,WCF服务应用便开始了服务调用请求的监听工作。此外,服务寄宿将服务描述
读取显示二进制文件 要点: 1: byte 数值范围从0~255 2: "/" 高8位 "%" 低8位 举例:DEC:206 HEX CE 206/16 =12 C(hex) 206%16=14 E(hex) 深入理解二进制、十六进制与十进制的转换 //using System.IO; //using System.Windows
internal interface Chart { void Display(); } internal class LineChart : Chart { public LineChart() { Console.WriteLine("创建折线图"); } public void Display() { Console.WriteLine("显示折线图&qu
clone地址:https://github.com/mostimacc/ConsoleApp-.git using System;class Saving_card{ private int money; public string customer; public int Money { get { return money; } set { mon
当新新线程不使用await修饰时: public static void test() { Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); for (int i = 0; i < 100; i++) { Console.WriteLine($"i:{i}&qu
简介 每一个委托都是继承自MulticastDelegate,也就是每个都是多播委托。 带返回值的多播委托只返回最后一个方法的值 多播委托可以用加减号来操作方法的增加或者减少。 给委托传递相同方法时 生成的委托实例也是相同的(也就是同一个委托) 代码实现 //声明委托 delegate void
nlohmann是一个用起来很方便的json c++ 库,但是还得自己写一堆代码。特别是如果原来的结构较多,得改一堆, 可以用llvm cpp parser来生成这样的代码。 主函数 static void Main(string[] args){ var p = @"J:\fy\inc\"; var files = new List<string>() { "test.h" }; var full
链式编程能够将多个操作或者多行代码通过点号(.)链接在一起,方便修改和阅读。 诸如C#中的的Linkq语法 List<string> list = new List<string> { "a", "b", "c", "d" }; List<string> list2 = new List<string> { "a", "c" }; var