天枫信息技术,专注于.NET技术的开发与应用

All Posts


C# 使用流读取大型TXT文本文件

一、前言 业务需要读取txt的内容,导入到数据库当中,博主百度了各种方法,大部分都会导致内存溢出异常,由此结合网上的各种方法,解决了该异常。 二、程序框架 . 4.5 WinFm 三、具体实现 1.1 TXT结构 可以看到该文件大小300多兆,里面的条数差不多60w左右,每行当中的数据使用Tab分割 1.2 代码private void New1306(string fileDir){FileStream fs = new FileStream(fileDir FileMode.Op ...

C# 使用 读取 大型 TXT 文本文件

值类型与引用类型的区别,string为什么是引用类型

一、C#数据类型值类型:直接访问数据的值。有基本数据类型(byte sht int long float double bool)、struct、enum; 引用类型:访问数据的存储地址。有class、interface、数组、委托、stting;值类型与引用类型的区别:1. 内存分配不同:值类型通常分配到栈上,它的变量直接包含变量的实例,使用效率较高;引用类型分配在堆上,它的量通常会包含一个指向实例的指针,变量通过该指针来引用实例。2. 默认值不同:值类型默认情况下自动初始化为0;引用类 ...

类型 引用 类型 区别 string 为什么 引用 类型

WPF开发随笔收录-操作注册表

一、前言 在windows平台软件开发过程中,注册表的操作是经常会遇到的一个场景。今天记录一下在操作注册表时遇到的一些坑; 二、正文 1、操作注册表,于是直接从网上找了一段代码来用 summary 读取注册表 summary param name="name"param returnsreturns public static string GetRegistData(string name) {string registDataRegistryKey hklm = Registry.LocalM ...

WPF 开发 随笔 收录 操作 注册表

asp.net接收API Post Json数据为空要注意的事项

今天在处理一个接收API通过Post方式传送Json数据的方法时,碰到接收的Json数据一直是空的问题。最好找了好久才解决,现在把需要的问题列出来。 1. 在一般处理程序中,需要设置 context.Request.InputStream.Position = 0 刚开始设置了这个,但后面还是为空,原因是每二点。 2.在web.config文件,sessionState 要去掉 cookieless="AutoDetect" ,否则就算设置了第一点也还是会为空, 按下面的格式去写 session ...

asp net 接收 API Post Json 数据 空要 注意 事项

改善C#程序的方法-3 比较器和LINQ排序

一 创建对象时考虑实现比较器 假设有这样的场景,有一个40个人的学生列表,业务中需针对学生的成绩来进行排序。 可以考虑用IComparable接口和ICompare接口实现:class Program {static void Main(string[] args){var stus = new ListStudent()stus.Add(new Student() { Name = "zhangsan" EnglishGrades = 80.5 MathGrades = 90 })stus.Add(ne ...

改善 C# 程序 方法 比较 LINQ 排序

高效编写C#图像处理程序(3) Rgb=>Lab,图像缺陷检测的案例

大家好,有没有朋友最近项目需要检测图像是否存在​​偏色​​、过亮、模糊等缺陷。由于主要用在视频监控上,对性能要求比较高。有几项检测必须要在Lab彩色下进行,而众所周知Rgb = Lab 计算量较大,C#搞得定搞不定?测试表明,用纯C#编写的Rgb = Lab代码在性能上与C编写的Rgb = Lab代码极为接近。 1. Rgb24和Lab24 Rgb是电脑上使用较多的彩色空间,Lab是针对人的感知设计的均匀彩色空间,很多情况下进行彩色图像分析,需要在Rgb彩色空间和Lab彩色空间之间进行转化。关于Lab彩色 ...

高效 编写 C# 图像处理 程序 Rgb gt Lab 图像 缺陷 检测 案例

WPF 截图控件之绘制箭头(五)「仿微信」

前言 接着上周写的截图控件继续更新 绘制箭头。 1.WPF实现截屏「仿微信」 2.WPF 实现截屏控件之移动(二)「仿微信」 3.WPF 截图控件之伸缩(三) 「仿微信」 4.WPF 截图控件之绘制方框与椭圆(四) 「仿微信」 正文 一、首先接着ScreenCut继续发电。 1)绘制箭头因为需要只修改箭头的尾部顶部不修改大小所以需要两个Path 需要定义Grid容器分为两列第一列 尾部 宽度设置 第二列设置固定宽度15 。ControlTemplate x:Key="PART_DrawArrow" Tar ...

WPF 截图 控件 绘制 箭头 仿微信

SkiaSharp 之 WPF 自绘 五环弹动球(案例版)

此案例基于拖曳和弹动球两个技术功能实现,如有不懂的可以参考之前的相关文章,属于递进式教程。五环弹动球 好吧,名字是我起的,其实,你可以任意个球进行联动弹动,效果还是很不错的,有很多前端都是基于这个特效,可以搞出一些很有科技感的效果出来。 Wpf 和 SkiaSharp 新建一个WPF项目,然后,Nuget包即可 要添加Nuget包 InstallPackage SkiaSharp.Views.WPF Version 2.88.0其中核心逻辑是这部分,会以我设置的60FPS来刷新当前的画板。 skConta ...

SkiaSharp WPF 自绘 五环 弹动 案例

最近改造我之前写的DBHelper总结

又是写M的博客,但是写其它的类库,我不会啊,只有这个我能写一写,希望大家轻喷 最近修改内容 以前只支持. Framewk,现在修改为支持. Framewk、. Stard、. Ce多目标平台以前工程依赖了具体的数据库操作类库,不方便实现支持多目标平台,为此,修改了架构,把Provider移到了工程外这样改造之后,竟然可以支持任意关系数据库,需要编写的Provider,需要实现的功能很少,除了创建分页SQL,就没什么了,lambda可以不支持。写完之后进行性能测试,对比EF、Dapper、FreeSql、S ...

最近 改造 之前 DBHelper 总结

基于WPF重复造轮子,写一款数据库文档管理工具(一)

项目背景公司业务历史悠久且复杂,数据库的表更是多而繁杂,每次基于老业务做功能开发都需要去翻以前的表和业务代码。需要理解旧的表的用途以及包含的字段的含义,表少还好说,但是表一多这就很浪费时间,而且留下来的文档都是残缺不全,每次查一些表的含义都要捯饬很久。在网上搜索关于数据库文档管理工具搜到最多的就是Screw和DBCHM,一个是基于Java的工具、另一个则是bug很多,表一多就一直转圈圈进不去。所以自己就动手开发了这款SmartSQL的工具。它是一款基于. 4.6.1、WPF开发的一款数据库文档管理,不仅支 ...

基于 WPF 重复 轮子 一款 数据库 文档 管理工具