摘要:一、思路 在Windows程序中,各个进程之间常常需要交换数据,进行数据通讯。常用的方法有 使用内存映射文件 通过共享内存DLL共享内存 使用SendMessage向另一进程发送WM_COPYDATA消息 比起前两种的复杂实现来,WM_COPYDATA消息无疑是一种经济实惠的一中方法。WM_COPY
阅读全文
随笔分类 - C#
摘要:1、需求 在代码中经常会遇到需要把对象复制一遍,或者把属性名相同的值复制一遍。 比如: public class Student { public int Id { get; set; } public string Name { get; set; } public int Age { get;
阅读全文
摘要:ApiLite是基于.NET6直接将Service层生成动态api路由,可以不用添加Controller,支持模块插件化,在项目开发中能够提高工作效率,降低代码量。 开发环境 .NET SDK 6.0.100-rc.2.21505.57 VS2022 Preview 7.0 项目地址 GitHub:
阅读全文
摘要:缓存是一种开发时常用的性能优化手段,.Net自带内存缓存(MemoryCache)可以很方便的使用,下面列出简单用法。 首先通过NuGet添加 Microsoft.Extensions.Hosting、Microsoft.Extensions.Caching.Memory 这两个包。 添加命令: I
阅读全文
摘要:文章开头先看一道题: 在设计某小型项目的数据库(假设用的是 MySQL)时,如果给用户表(User)添加一个字段(Roles)用来存储用户的角色,你会给这个字段设置什么类型?提示:要考虑到角色在后端开发时需要用枚举表示,且一个用户可能会拥有多个角色。 映入你脑海的第一个答案可能是:varchar 类
阅读全文
摘要:public class Array2D<T>{ public int Width { get; } public int Height { get; } public T[] Data { get; } public Array2D(int width, int height) { Width =
阅读全文
摘要:class Program { static void Main(string[] args) { double[] a = { 1, 2, 3, 4, 5, 6 }; double[,] b = Row2VecD(a); double[,] c = Row2ArrT(a, 2); //double
阅读全文
摘要:一、通用插件 Codelf 描述:变量命名神器 Bracket Pair Colorizer 描述:成对的彩色括号,让括号拥有独立的颜色,便于区分 Prettier - Code formatter 描述:格式化代码 indent-rainbow 描述:带彩色的缩进,交替四种不同的颜色,它对编写Ni
阅读全文
摘要:LINQ在本地查询IEnumerbale主要是用委托来作为传参,而解析型查询IQueryable则用Expression来作为传参: public static IEnumerable<T> Where<T>(this IEnumerable<T> enumable, Func<T, bool> f
阅读全文
摘要:扩展方法: public static class Spell { /// <summary> /// 获取汉字字符串的拼音首字母 /// </summary> /// <param name="str">字符串</param> /// <returns></returns> public stat
阅读全文
摘要:一、种类介绍 算术表达式有三种:前缀表达式、中缀表达式和后缀表达式。一般用的是中缀,比如1+1,前后缀就是把操作符移到前面和后面,下面简单介绍一下这三种表达式。 1、前缀表示法 前缀表示法又叫波兰表示法,他的操作符置于操作数的前面(例:+ 1 2),是波兰数学家扬·武卡谢维奇1920年代引入的,用于
阅读全文
摘要:public class EPPlusExcelHelper : IDisposable { public ExcelPackage ExcelPackage { get; private set; } private Stream fs; public EPPlusExcelHelper(stri
阅读全文
摘要:示例【1】 1、创建SQLHelper类 using System.Collections.Generic; using System.Configuration; using System.Data.SqlClient; using System.Reflection; namespace Db
阅读全文
摘要:帮助类定义 public class EnumHelper { #region 静态方法 public static Dictionary<string, string> GetEnumDescription<T>() { Dictionary<string, string> dic = new D
阅读全文
摘要:前言 本文主要介绍如何使用.Net自带API结合BouncyCastle类库实现RSA加密和解密,密钥生成和密钥格式转换。 一、RSA介绍 RSA加密算法是1977年由Ron Rivest、Adi Shamirh和Len Adleman在(美国麻省理工学院)开发的。RSA取名来自开发他们三者的名字。
阅读全文
摘要:1、RSA加密解密 (1)获取密钥,这里是产生密钥,实际应用中可以从各种存储介质上读取密钥 (2)加密 (3)解密 2、RSA签名和验证 (1)获取密钥,这里是产生密钥,实际应用中可以从各种存储介质上读取密钥 (2)获取待签名的Hash码 (3)获取签名的字符串 (4)验证 3、公钥与私钥的理解 (
阅读全文
摘要:昨晚在群里讲解这部分内容,因为好久没操作过了,差点翻车。。。今天把它整理一下发出来,方便没听明白的小伙伴学习和理解。 我们平时学习数据库时,要么使用sa帐号,要么用windows默认帐号登录,总之都拥有最高权限,而实际的生产环境中,不可能这样的,帐号权限要严格划分,才能保证基本的安全,那么问题来了,
阅读全文
摘要:在C#语言中,对集合的条件查询、分组统计等操作使用LINQ非常方便,LINQ的语法格式与SQL非常相似和便捷,而LINQ扩展方法配合Lambda更为简洁,如All、Any、Count、Max等Enumerable类扩展方法,其中Distinct、Intersect、Contains等大量方法中使用了
阅读全文
摘要:一、使用场景 Java作为服务端生成一对公私钥,C#作为客户端拥有公钥。 RSA算法这里就不多做介绍了,可参考RSA算法介绍 二、规范 公私钥的形式都是base64字符串 通过公私钥加密后的字符串也是base64字符串 三、测试内容 C#用公钥加密,Java用私钥解密 Java用私钥加密,C#用公钥
阅读全文
摘要:1.循环遍历 private void GetControls(Control fatherControl) { Control.ControlCollection sonControls = fatherControl.Controls; foreach (Control control in s
阅读全文