C#
dxm809
这个作者很懒,什么都没留下…
展开
-
C#编程,异步中的等待处理Task.Delay
Task.Delay转载 2023-02-10 15:20:27 · 3065 阅读 · 0 评论 -
C# 对字符串进行加密
C# 对字符串进行加密原创 2022-09-28 09:26:14 · 1911 阅读 · 0 评论 -
C# 设置系统日期和时间
C# 设置系统日期和时间转载 2022-09-27 21:31:49 · 3400 阅读 · 1 评论 -
设置货币得小数位数 NumberFormatInfo
【代码】设置货币得小数位数 NumberFormatInfo。原创 2022-09-27 19:36:51 · 259 阅读 · 0 评论 -
无法将 匿名方法 转换为类型“System.Delegate”,因为它不是委托类型
匿名方法 转换为类型“System.Delegate”转载 2022-09-27 10:31:55 · 230 阅读 · 0 评论 -
c# CRC16
CRC16原创 2022-07-31 10:31:56 · 446 阅读 · 0 评论 -
C# 使用TaskScheduler在任务里面更新UI
task原创 2022-06-01 09:33:43 · 900 阅读 · 0 评论 -
C# 建造者模式链式编程
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace BuilderPatternLink{ internal class Program { static void Main(string[] args) { IBuilder bui.原创 2022-05-14 11:53:33 · 312 阅读 · 0 评论 -
C# 最终版单例模式
public class Sigleton<T> where T : class { public static Lazy<Sigleton<T>> _sigleton = new Lazy<Sigleton<T>>(()=>(Sigleton<T>)Activator.CreateInstance(typeof(T))); protected Sigleton() ...原创 2022-05-14 11:52:46 · 187 阅读 · 0 评论 -
C# 读写INI配置文件
[DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);[DllImport("kernel32")]private static extern int GetPrivateProfileString(string section, string key, string def, Strin.转载 2022-05-09 19:24:43 · 911 阅读 · 0 评论 -
C# BlockingCollection的用法
using System;using System.Collections.Concurrent;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;nam.原创 2022-04-23 17:16:32 · 626 阅读 · 1 评论 -
C# 十六进制字符串转换成有符号整数
第一种方法:两个十六进制字符串紧紧并在一起,用short.parse获得数值using System;namespace ConsoleApp2{ class Program { static void Main(string[] args) { string str = "8415"; short num = short.Parse(str, System.Globalization.NumberS原创 2022-03-25 13:56:55 · 3091 阅读 · 1 评论 -
C#正则表达式
匹配整数的一种表达式:Regex.IsMatch(inputerstr, "^([0-9]{1,})$") //网上的Regex.IsMatch(inputerstr, @"^(\d+)$") //自己的匹配小数格式的表达式:Regex.IsMatch(inputerstr, "^([0-9]{1,}[.][0-9]*)$")Regex.IsMatch(inputerstr, @"^\d+[.]\d*)$")匹配负数格式的表达式:Regex regex = new Regex(@"^原创 2022-03-07 19:17:52 · 497 阅读 · 0 评论 -
Git 在现有项目中修改git地址的方法
1 VS中选择Git->设置2 选择Git Repository Settings下面的远程,编辑Git地址设置即可原创 2022-02-09 10:19:51 · 935 阅读 · 0 评论 -
vs Region快捷键无法折叠
工具=>选项=>文本编辑器=>C# =>高级=>大纲(折叠到定义时可折叠#region)转载 2021-12-24 16:10:41 · 403 阅读 · 0 评论 -
Linq 过滤获得Index集合
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace SelectIndex{ class Program { static void Main(string[] args) { List<string> l.原创 2021-11-20 13:09:50 · 372 阅读 · 0 评论 -
C# XmlHelper
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Xml;using System.Xml.Serialization;namespace ZAS.WGT.Common{ public class XmlHelper { pub.原创 2021-11-18 12:45:19 · 303 阅读 · 0 评论 -
C# Task和异步方法
ThreadPool中有若干数量的线程。当有任务需要处理时,会从线程池中获取一个空闲的线程来执行任务,任务执行完毕后线程不会销毁,而是被线程池回收以供后续任务使用。当线程池中所有的线程都被占用,又有新任务要处理时,线程池会新建一个线程来处理该任务。如果线程数量达到设置的最大值,任务会排队,等待其他任务释放线程后再执行。ThreadPool相对于Thread来说可以减少线程的创建,有效减小系统开销。但是ThreadPool不能控制线程的执行顺序,也不能获取线程池内线程取消/异常/完成的通知,即不能有效监控和控转载 2021-11-17 16:46:36 · 2277 阅读 · 1 评论 -
SqlSugar Tool 生成实体类
1 打开Sql Sugar工具箱,选择实体类生成2 选择Sql Server3 输入连接名称,主机地址,数据库用户名,密码,点测试连接4 上面会显示测试连接成功5 此时就可以通过下拉框选择数据库,点确定6 选择生成模板设置7 这里可以修改生成的模板,如果不需要修改,直接点击保存8 回到主界面,点击如图的生成实体按钮9 选择生成到的文件夹 ,如果正常则会提示导出所有表成功,此时可以拷贝生成的实体类到项目中使用...原创 2021-11-07 14:26:12 · 5014 阅读 · 1 评论 -
prism 创建Module
1 根据《prism项目搭建》搭建prism项目2 在解决方案中新建wpf用户控件库3 删除UserControl1.xaml,并通过nuget添加prism.unity框架4 在库里面新建文件夹Views5 在Views下面新建用户控件ViewA<UserControl x:Class="ModuleA.Views.ViewA" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/present.原创 2021-10-30 13:10:01 · 277 阅读 · 0 评论 -
wpf 软件系统框架
1 用vs2019创建空白解决方案***.***2 在解决方案中新建解决方案文件夹,创建下面的文件夹01_UI02_BLL03_DAL04_Model05_Common3 在01_UI文件夹下面新建WPF应用程序***.***.APP4 在02_BLL文件夹下面新建WPF应用程序***.***.BLL5在03_DAL文件夹下面新建WPF应用程序***.***.DAL6在03_Common文件夹下面新建WPF应用程序***.***.Common7 最...原创 2021-10-26 14:00:17 · 580 阅读 · 0 评论 -
C# Task访问共享资源放置死锁的方法
using System;using System.Diagnostics;using System.Threading;using System.Threading.Tasks;namespace ConsoleApp5{ class Program { static Random r = new Random(); static string Message; static object conch = new object.原创 2021-10-24 12:52:07 · 348 阅读 · 0 评论 -
C# 对两个Task访问共享资源应用互斥锁,lock会被编译器改为try-finally
using System;using System.Diagnostics;using System.Threading;using System.Threading.Tasks;namespace ConsoleApp5{ class Program { static Random r = new Random(); static string Message; static object conch = new object.原创 2021-10-24 12:42:22 · 1463 阅读 · 0 评论 -
C# 两个Task同步访问共享资源
using System;using System.Diagnostics;using System.Threading;using System.Threading.Tasks;namespace ConsoleApp5{ class Program { static Random r = new Random(); static string Message; static void MethodA() {.原创 2021-10-24 12:39:13 · 1958 阅读 · 0 评论 -
C# Task嵌套
using System;using System.Threading;using System.Threading.Tasks;namespace ConsoleApp4{ class Program { static void Main(string[] args) { var outer = Task.Factory.StartNew(OuterMethod); outer.Wait(); .原创 2021-10-24 11:58:44 · 2157 阅读 · 0 评论 -
C# 一个Task的输出作为另一个Task的输入
using System;using System.Threading;using System.Threading.Tasks;namespace ConsoleApp3{ class Program { static void Main(string[] args) { Console.WriteLine("Passing the result of one task as an input into another").原创 2021-10-24 11:48:15 · 1381 阅读 · 0 评论 -
C# Task的三种启动方法
using System;using System.Diagnostics;using System.Threading;using System.Threading.Tasks;namespace ConsoleApp2{ class Program { static void Main(string[] args) { var timer = Stopwatch.StartNew(); Task.原创 2021-10-24 11:37:33 · 3995 阅读 · 0 评论 -
C#创建单元测试
1 新建C#库项目,修改代码using System;namespace MyLib{ public class Caculator { public double Add(double a,double b) { return a * b; } }}2 新建一个测试项目,选择xUnit测试项目3 修改测试代码using MyLib;using System;using X.原创 2021-10-24 11:25:23 · 360 阅读 · 0 评论 -
C# 通过监听器保存log,并通过配置文件输出部分log
1 新建控制台应用程序2 添加引用3 添加json配置文件appsettings.json{ "PacktSwitch": { "Level": "Warning" }}4 修改代码using Microsoft.Extensions.Configuration;using SharpPad;using System;using System.Diagnostics;using System.IO;using System.Threading....原创 2021-10-24 11:21:16 · 1452 阅读 · 0 评论 -
C# 调用C++ dll 返回数组
1 新建C++ dll项目// dllmain.cpp : 定义 DLL 应用程序的入口点。#include "pch.h"BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ switch (ul_reason_for_call)原创 2021-10-22 18:07:24 · 2999 阅读 · 0 评论 -
Prism 源码库
百度里面搜索prism github可以搜索到https://github.com/PrismLibrary/原创 2021-10-20 10:26:23 · 212 阅读 · 0 评论 -
从git导出代码
1 打开浏览器访问http://192.168.1.5:10101/2 输入用户名密码登陆3切换到版本库4原创 2021-10-19 20:38:45 · 819 阅读 · 0 评论 -
C#调用C++dll中的非托管类方法(stdcall)
1 新建C++ dll项目#pragma onceclass COperation{public: int Add(int a, int b); int Avg(int* buf, int count);};#include "pch.h"#include "COperation.h"int COperation::Add(int a, int b){ return a+b;}int COperation::Avg(int* buf, int count)原创 2021-09-18 14:11:17 · 1396 阅读 · 0 评论 -
C#调用C++ dll中的函数
// dllmain.cpp : 定义 DLL 应用程序的入口点。#include "pch.h"BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ){ switch (ul_reason_for_call) { case .原创 2021-09-18 11:11:46 · 325 阅读 · 0 评论 -
WCF实例管理的三种方式
WCF提供了三种便捷方式每次调用 每个会话 单个实例每次调用模式当我们将WCF服务设置为每次调用模式时,在使用WCF代理客户端每次方法调用时都将产生新的服务端实例如何实现会话实例模式要将服务配置为每个会话模式,我们需要配置标签ServiceBehavior的InstanceContextMode对象的值设置为PerSession[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession)]publi转载 2021-09-14 17:41:23 · 178 阅读 · 0 评论 -
C# FileSystemWatcher的使用
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace FileWatcher{.原创 2021-09-02 18:02:37 · 338 阅读 · 0 评论 -
C# 队列写log方法
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace LogTest{ .原创 2021-08-26 16:11:19 · 361 阅读 · 0 评论 -
C#TextBox Enter和Leave事件代替GotFocus和LostFocus事件
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace Test210825{ public partia.原创 2021-08-25 15:14:42 · 1577 阅读 · 0 评论 -
C# TextBox LostFocus找不到
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace Test210825{ public partia.原创 2021-08-25 15:08:57 · 761 阅读 · 1 评论 -
C#调用C++dll
1 新建C#控制台项目CPPDLLDemo2 在该项目中新建C++动态链接库项目3 修改dllmain.cpp// dllmain.cpp : 定义 DLL 应用程序的入口点。#include "pch.h"BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved .原创 2021-08-18 12:06:57 · 256 阅读 · 0 评论