![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
山歌寥哉
这个作者很懒,什么都没留下…
展开
-
C#防止多次注册事件
防止多次注册事件主要通过判断事件中类型的委托实例是否为空实现原创 2024-06-11 11:32:08 · 395 阅读 · 1 评论 -
C#部署非安装版(绿色版)mysql
C#部署非安装版mysql原创 2023-02-21 19:04:17 · 760 阅读 · 0 评论 -
代理云 代理ip测试
using Microsoft.VisualStudio.TestTools.UnitTesting;using System;using System.Collections.Generic;using System.Diagnostics;using System.IO;using System.Net;namespace DataSyncTests{ [TestClass] public class UnitFlurl { [Tes原创 2021-01-07 11:49:22 · 995 阅读 · 0 评论 -
StackExchange.Redis工具类
using StackExchange.Redis;using System;using System.Configuration;namespace DataSync{ public class RedisHelper { public static readonly IConnectionMultiplexer Client; static RedisHelper() { //ConnectionMulti原创 2021-01-07 11:32:05 · 413 阅读 · 0 评论 -
.net 4.8 nlog工具类
using NLog;using System;namespace DataSync{ public class LogHelper { public static readonly Logger Logger; static LogHelper() { var config = new NLog.Config.LoggingConfiguration(); // Targets whe原创 2021-01-07 11:29:57 · 234 阅读 · 0 评论 -
字符串工具类
using System;using System.Linq;using System.Runtime.InteropServices;using System.Text;namespace DataSync{ public class WordHelper { [DllImport("kernel32.dll", EntryPoint = "LCMapStringA")] public static extern int LCMapString(原创 2021-01-07 11:29:08 · 77 阅读 · 0 评论 -
时间戳工具类
public class TimestampHelper { public static long Get(DateTime time) { DateTime unixEpoch = new DateTime(1970, 1, 1, 8, 0, 0); TimeSpan unixTimeSpan = time - unixEpoch; return (long)unixTimeSpan.Total原创 2021-01-07 11:28:34 · 351 阅读 · 0 评论 -
对象快照,找到对象在赋值之后有差异字段
代码1using System.Data;namespace DataSync{ public partial class DynamicParameters { private sealed class ParamInfo { public string Name { get; set; } public object Value { get; set; } public DbType? DbType { get; set; } } }}代码2usin原创 2021-01-07 11:27:58 · 201 阅读 · 0 评论 -
相同字段的模型映射
using System;using System.Collections.Generic;using System.Linq;using System.Linq.Expressions;using System.Reflection;using System.Text;using System.Threading.Tasks;namespace DataSync{ public static class ExpressionGenericMapper<TIn, TOut&g原创 2021-01-07 11:18:10 · 175 阅读 · 0 评论 -
webapi .net 4.8 登录校验,主要是token和其他特殊权限校验
public class AuthFilter : AuthorizationFilterAttribute { public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext) { bool hasHeaderToken = actionContext.Request.Headers.TryGetValues(".原创 2021-01-07 11:04:47 · 227 阅读 · 0 评论 -
实现MongoDBContext与EFContext相同的调用风格
using MongoDB.Driver;using System.Collections.Generic;using MongoDB.Bson;using Pipelines.Sockets.Unofficial.Arenas;using System;using System.Linq;using System.Linq.Expressions;using System.Reflection;using DataSync.Model;using System.Collections.C原创 2020-08-03 17:12:03 · 264 阅读 · 0 评论 -
关于全文检索的解决方案实现
基于Redis的高性能全文搜索引擎RediSearch应用。(包含MongoDB中文全文索引的另类实现)原创 2020-07-13 14:12:57 · 1053 阅读 · 0 评论 -
C#操作图片(图片大小、质量等)
C#操作图片(图片大小、质量等)图片大小质量修改(可单独操作)新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入图片大小质量修改(可单独操作)你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如原创 2020-06-10 14:51:28 · 662 阅读 · 0 评论 -
Quartz开发日记
• SimpleTrigger 总是每隔若干秒触发,而同夏令时没有关系。• CronTrigger 总是在给定的时间出发然后计算它下次触发的时间。如果在给定的日期内没有该时间,则触发器将会被忽略,如果在给定的日期内该时间发生了两次,它只触发一次。因为是在第一次触发发生后计算当天下次触发的时间。原创 2020-06-03 10:55:21 · 179 阅读 · 0 评论 -
字符串转换为16进制字符串
var bytes = Encoding.UTF8.GetBytes("sunzhimin中华");for (int i = 0; i < bytes.Length; i++){ Console.WriteLine(Convert.ToString(bytes[i], 16));}原创 2019-12-23 11:24:39 · 216 阅读 · 0 评论 -
CRC校验码(C#实现)
CRC校验(循环冗余校验)小知识CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。适用规则:CRC-CCITT是一个17位生成多...原创 2019-12-19 15:20:19 · 6019 阅读 · 0 评论 -
C# 面试基础(三大特性)
封装封装有时称为面向对象的编程的第一支柱或原则。 根据封装原则,类或结构可以指定自己的每个成员对外部代码的可访问性。 可以隐藏不得在类或程序集外部使用的方法和变量,以限制编码错误或恶意攻击发生的可能性。成员所有方法、字段、常量、属性和事件都必须在类型中进行声明;这些被称为类型的成员。 C# 没有全局变量或方法,这一点其他某些语言不同。 即使是程序的入口点 Main 方法,也必须在类或结构中进...原创 2019-12-09 16:35:33 · 197 阅读 · 0 评论 -
C# 面试基础(泛型)
泛型概述使用泛型类型可以最大限度地重用代码、保护类型安全性以及提高性能。泛型最常见的用途是创建集合类。.NET Framework 类库在 System.Collections.Generic 命名空间中包含几个新的泛型集合类。 应尽可能使用这些类来代替某些类,如 System.Collections 命名空间中的 ArrayList。可以创建自己的泛型接口、泛型类、泛型方法、泛型事件和...原创 2019-12-09 15:07:22 · 371 阅读 · 0 评论 -
面试准备1(.net基础知识)
面试准备C# 语言介绍.NET Framework 平台体系结构C# 语言介绍多项 C# 功能有助于构造可靠耐用的应用程序:垃圾回收可自动回收无法访问的未使用对象占用的内存;异常处理提供了一种结构化的可扩展方法来执行错误检测和恢复;C# 语言的类型安全设计禁止读取未初始化的变量、为范围之外的数组编制索引或执行未检查的类型转换。.NET Framework 平台体系结构C# 程序...原创 2019-12-06 10:55:21 · 261 阅读 · 0 评论 -
.net core3.0不通过构造函数注入获取注入的对象
1.先获取上下文中IServiceProvidersFeature服务功能2.获得请求中的服务对象集合,找到IServiceProvider服务对象3.从中获取目标服务我在项目中遇到的情况举例:在一个BaseController中获取当前用户的信息,通过构造函数注入可以实现但是增加了子类编码的负担,可以通过如下代码实现 var serviceProvidersFeature = Http...原创 2019-11-18 19:31:18 · 2365 阅读 · 0 评论 -
单个方法应保持多少代码量
总行数: 从方法开始,到括号结束,这之间的行数不要超过80行(包括注释,空行,大括号等),如果方法中的逻辑代码非常多,那么分枝干,将枝干逻辑抽取为方法,是主干代码更加清晰,既有利于阅读且利于维护。 单行字符数量: 单行字符不超过120个,超出需要换行。 1. 方法调用多个参数需要换行从逗号后开始, 2. 方法调用换行从点符号开始, 3. 括号前不换行, 4. 运算符与下文一起...原创 2018-08-29 13:24:52 · 2519 阅读 · 0 评论 -
Dapper.Rainbow使用
Dapper.Rainbow使用使用NuGet安装程序包继承Dapper.Rainbow的数据库实现基类获取数据库操作对象DbContext,MS SqlServer为例接下来即可使用使用NuGet安装程序包Install-Package Dapper.Rainbow -Version 1.50.5最新安装包在这个链接查看:https://www.nuget.org/packages/Dap...原创 2018-11-25 15:57:12 · 953 阅读 · 0 评论 -
C#获取真实文件类型
public class FileHelper{ public enum FileExtension { JPG = 255216, GIF = 7173, BMP = 6677, PNG = 13780, COM = 7790, EXE = 7790, DLL = 7...原创 2018-11-25 16:10:14 · 3126 阅读 · 0 评论 -
Visual Studio 进入开源代码内部调试
工具-》调试-》常规-》符号原创 2019-01-08 13:39:14 · 818 阅读 · 0 评论 -
用C#保存网站上传文件的相对路径,在HTML页面中用jq或js设置背景图,路径报错404,
C#保存的路劲默认是反斜杠\HTML页面上需要/所以在HTML页面中需要将反斜杠替换为斜杠代码如下:var url = “\res\static\1.png”.replace(/\/g, “/”);原创 2019-01-13 20:19:56 · 252 阅读 · 1 评论 -
asp.net 及 asp.net core 下 MD5加密
asp.net 及 asp.net core 下 MD5加密建议使用MD5Hash及其重载这两个方法,字符串加密时效率很高建议使用MD5Hash及其重载这两个方法,字符串加密时效率很高using System;using System.Collections.Generic;using System.IO;using System.Security.Cryptography;using...原创 2019-07-11 18:05:57 · 998 阅读 · 0 评论 -
高度封装精简版MD5加解密
高度封装精简版MD5加解密using资源管理、横线替换、大小写转换,用方法MD5HashExeute统一管理,需要改动只改这一个地方,无需两个方法都改原创 2019-07-11 18:18:37 · 197 阅读 · 0 评论 -
NOPI导出
C# NOPI导出 表格原创 2019-07-17 16:24:22 · 169 阅读 · 0 评论 -
CKEditor使用,前端代码及后台处理代码
CKEditor使用,前端代码及后台处理代码原创 2019-07-19 22:12:08 · 589 阅读 · 0 评论 -
递归是什么(C#)
C#递归,递归是程序调用自身的编程技巧,和死循环的区别在于它有边界条件,不满足继续执行,满足那么返回。举个例子:两个镜子,镜面相对,这时不论看哪个镜子都会看到镜子里面有镜子无限循环。原创 2019-07-31 13:18:07 · 365 阅读 · 0 评论 -
10进制和16进制之间的计算
16进制字符串转为10进制数string hexString = "14";int dec = int.Parse(hexString, System.Globalization.NumberStyles.HexNumber);上述代码计算结果:dec=20;10进制数转为16进制字符串string hexValue = Convert.ToString(20, 16);代码...原创 2019-08-13 17:48:16 · 573 阅读 · 0 评论 -
在服务器上安装.net core的SDK和托管捆绑包后,IIS网站出现HTTP503无法访问解决方法
在服务器上安装.net core的SDK和托管捆绑包后,IIS网站出现HTTP503无法访问解决方法原创 2019-10-10 17:26:15 · 748 阅读 · 0 评论 -
C#控制多线程最大并行数量
才疏学浅,还望指教。原创 2018-08-22 09:54:16 · 8976 阅读 · 3 评论