C#技术
文章平均质量分 57
AI-剁椒鱼头
这个作者很懒,什么都没留下…
展开
-
什么是稀疏数组?
稀疏数组(Sparse Array)是一种用于表示大部分元素值为默认值(通常为零或者空)的数组的数据结构。它通过仅存储非默认值的元素及其对应的索引来减少内存空间的使用。在稀疏数组中,通常使用三元组(Triple)来表示每个非默认值元素的索引和值。三元组包含三个字段:行索引、列索引和元素值。只有非默认值的元素才会被存储为三元组,而默认值则被省略。在上述示例中,原始数组是一个 4x4 的二维数组,大部分元素值为零。稀疏数组使用三元组表示非零元素的索引和值。第一行表示原始数组的行数、列数和非零元素的个数。原创 2023-08-17 16:59:05 · 169 阅读 · 0 评论 -
C#之AES加密解密
AES加密标准又称为高级加密标准Rijndael加密法,是美国国家标准技术研究所NIST旨在取代DES的21世纪的加密标准。AES的基本要求是,采用对称分组密码体制,密钥长度可以为128、192或256位,分组长度128位,算法应易在各种硬件和软件上实现。1998年NIST开始AES第一轮分析、测试和征集,共产生了15个候选算法。原创 2022-10-25 15:55:43 · 2064 阅读 · 0 评论 -
C#之DES加密解密
DES算法是一种最通用的对称算法,因为算法本身是公开的,所以其安全性在于的安全性。基于的算法通常有两类:对称算法和公开算法。对称算法的对称性体现在加能够从解推算出来,反之亦然。在大多数对称算法中,加解密的是相同的,DES就是这样。可见,对称算法的加解都是保密的。而公开算法的加是公开的,解是保密的。原创 2022-10-24 12:52:06 · 3413 阅读 · 0 评论 -
C# .NET生成时间戳 秒,毫秒,解析时间戳为DateTime
时间戳的主要目的在于通过一定的技术手段,对数据产生的时间进行认证,从而验证这段数据在产生后是否经过篡改。所以时间戳服务的提供者必须证明服务中使用的时间源是可信的,所提供的时间戳服务是安全的。下面介绍最常见的几种时间戳协议,并对各个协议的原理进行分析。时间戳,又叫 Unix Stamp. 从 1970 年 1 月 1 日(UTC/GMT 的午夜)开始所经过的秒数,不考虑闰秒。原创 2022-09-30 10:22:42 · 5793 阅读 · 0 评论 -
C# .NET 实现 WebSocket服务端
WebSocket是HTML5下一种新的协议(websocket协议本质上是一个基于tcp的协议)它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯的目的Websocket是一个持久化的协议原创 2022-09-28 11:46:58 · 6204 阅读 · 0 评论 -
C# 生成二维码
C#使用QRCoder组件来实现二维码的生成原创 2022-07-06 00:08:01 · 891 阅读 · 0 评论 -
C# JWT加密和解密,JWT跨域身份验证
JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案。为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC 7519),该token被设计为紧凑且安全的,特别适用于分布式站点的单点登陆(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,该token也可直接被用于认证,也可被加密。......原创 2022-06-07 23:23:10 · 10312 阅读 · 0 评论 -
SQL Server 批量插入数据方案 SqlBulkCopy 的简单封装,让批量插入更方便
SQL Server 批量插入数据方案 SqlBulkCopy 相较于 Insert 语句而言有20~40倍性能提升,下面我们将 SqlBulkCopy 进行简单封装,让批量插入更方便原创 2020-12-08 08:35:45 · 2588 阅读 · 3 评论 -
CodeCarvings.Piczard 实现给图片加水印和生成缩略图(c#)
目录CodeCarvings.Piczard 组件NuGet 安装生成缩略图加水印加文字水印加图片水印封装的扩展方法扩展方法代码DEMO代码生成缩略图加文字水印加图片水印CodeCarvings.Piczard 组件这个组件比较强大但是接口不太友好NuGet 安装Install-Package CodeCarvings.Piczard生成缩略图//图像处理对象ImageProces...原创 2020-03-16 22:59:08 · 513 阅读 · 0 评论 -
EF分页查询数据
实体对象使用lambda表达式进行分页 //EF var ef = new DataModelContainer(); var page = 2;//第2页 var size = 5;//每页5条数据 var pageData = ef.SalesOrder ...原创 2018-10-07 17:51:19 · 5252 阅读 · 0 评论 -
使用EF配合Linq语句进行查询
//创建一个EF对象 var ef = new DemoDatabaseEntities1(); //查询 Grade 表的数据 Id > 4 的记录 IQueryable<Grade> temps = from g in ef.Grade ...原创 2018-09-22 21:57:45 · 5455 阅读 · 0 评论 -
EF 延迟加载技术
一、EF延迟加载介绍其实延迟加载的本质就是用的时候去加载 //EF var ef = new DataModelContainer(); //Linq查询语句 var users = from info in ef.UserInfo where inf...原创 2018-09-25 00:27:03 · 1183 阅读 · 0 评论 -
得到C#字段名称字符串
在编写项目的过程中容易出现,一个类中的字段名称发生改变的情况,例如一些视图控件需要字段名称通过反射来得到一些信息,这样就需要一个一个的去替换修改比较麻烦,而极易出错! class TestClass { public long Id { get; set; } public string Name { get; set...原创 2018-09-24 03:06:36 · 3348 阅读 · 0 评论 -
EF框架Model First
一、新建ADO.NET数据对象二、设计数据库模型1.创建一个模型2.创建标量属性标量属性就是,相当于数据库中的普通列3.创建关联表与表之间关联的业务场景是很常见的,例如一个用户需要有多个订单,这样就需要 一个一对多的关联关系,用户表为一订单表为多,大部分情况下都是用一对多与多对多关系4.创建一个多对多的关联创建一个多对多的关联EF会创建一个中间表,中...原创 2018-09-24 01:11:07 · 526 阅读 · 0 评论