- 博客(73)
- 资源 (1)
- 收藏
- 关注
原创 .Net6与Framework不同方式获取文件哈希值的性能对比
选.NET6还是Framework,哪种算法获取文件哈希值性能更高?看这篇简单的测试就够了。
2023-09-21 13:12:29 584
原创 Windows10-小米手机-adb找不到设备解决方案
问题描述Windows10系统,AndroidStudio运行调试adb列表为空,找不到设备(小米8)。解决方案1. MIUI开发版,手机开启开发者模式设置 -> 我的设备 -> 全部参数 -> 连续按MIUI版本,直到提示已处于开发者模式。2. 进入开发者选项,打开USB调试设置 -> 更多设置 -> 开发者选项 -> USB调试、US...
2019-12-24 23:05:45 6344 1
原创 C# 字体池技术实现
字体池的应用,主要是为了解决字体不断创建导致句柄泄漏/内存泄漏的问题,这个问题在Android上也同样存在。经测试,C# WinForm原生控件不存在字体问题,但是使用的第三方控件Dev 14.1就存在这样的问题。所以参照线程池思路,想到了使用字体池的方式,使系统中的字体统一为一个对象,经测试,有效解决了泄漏问题。字体池代码:/// /// 字体缓存类/// public s
2016-01-28 16:45:46 1255
原创 利用反射实现简单加壳
起因:为系统实现了授权限制,可以对每个用户实现不同的功能授权。关联:以前为不同客户开发了许多辅助使用系统的小工具,产品想将其中比较重要的也实现授权限制。困难:小工具繁多,有些代码甚至已经遗失,要想重构代码来实现授权限制几乎不可能。Idea:通过加壳的方式在程序启动前做授权判断,只有通过授权认证的才能成功启动。实现步骤:Step1: 将小工具以嵌入资源的方式添加到新的
2015-11-04 15:27:47 1088
原创 关于bat安装与卸载服务脚本
最近工作是完成三个不同的服务,由于对bat脚本不熟,每次测试都需要让相关人员手动更改服务路径然后运行安装~~导致非常麻烦(现在看来真是……技术不过关)。现在面临发布,寻思着更方便的部署方式,所以在网上及其他文档上找寻了一下,发现实际上真的可以将部署做得非常简单~~1. 在bat脚本中,使用相对路径安装服务,避免每次拷贝服务到其他地方的时候都要修改服务路径。 C:\Windows\
2015-08-20 10:23:50 6305
原创 关于互斥执行的设计与实现
引言我在开发过程中经常遇到这样一个问题(简化版描述):一个文本框绑定了TextChanged事件,在另一个方法中我想要改变文本框的值却不想触发TextChanged事件。一般会使用如下方案解决:1. 先注销TextChanged事件,赋值完重新绑定:void A_TextChanged(object sender, EventArgs e){ A.TextChanged -=
2015-06-27 12:34:01 1909
原创 Windows Phone 8.1常见问题
序(可略过~~~)刚从C#转入Windows Phone 8.1,发现开发起来还是有点吃力,从基础点来说,很多类、方法都没有了,突然有点迷失方向的即视感~主要解决问题的方法还是靠网上搜索,目前国内资料都还比较少,MSDN上好像Windows Phone 8.1文档还不全?~~最后,多求助于stack overflow...正文1. MessageBox改成了MessageD
2015-05-16 10:06:54 820
原创 C#处理记录
1. 未能加载文件或程序集"..."或它的某一个依赖项。试图加载格式不正确的程序。产生原因:(生成的目标平台选择问题)exe采用AnyCPU编译,运行在64位操作系统上,但是DLL是使用x86编译。解决方案:exe改为采用x86编译 / DLL采用AnyCPU编译。
2015-03-20 14:41:55 1258
原创 ListBoxControl样式与用法
Dev控件效果可以使用程序SkinManager进行定制,一方面有利于生成一整套统一的皮肤,另外是确实有些样式效果使用属性设置不了。Dev目前感觉还是有很多不自由的地方,一些只能通过皮肤应用样式,而有一些样式却只能使用事件之类的办法来实现。1. 绘制选中行前景色与背景色1. 设置HighlightedItemStyle属性为Standard。2. 注册DrawItem事件,事件中添加
2015-03-16 17:12:59 7734
转载 Dev-GridLookUpEdit立即打开下拉框
该方案几乎适用与DevExpress中所有下拉控件(鼠标进入不会自动弹出下拉框的编辑框控件)场景:GridLookUpEdit设置TextEditStyle为Standard(允许输入)。尝试在GotFocus事件与Enter事件中直接调用this.ShowPopup()方法,失败!原因:进入/获取焦点后会打开下拉框,但随后焦点又回到编辑输入框,下拉框关闭。解决方案:在
2015-02-12 15:29:59 4404
原创 SqlServer处理记录
1. 语句报以下错误:消息 1033,级别 15,状态 1,第 210 行除非另外还指定了 TOP 或 FOR XML,否则,ORDER BY 子句在视图、内联函数、派生表、子查询和公用表表达式中无效。消息 156,级别 15,状态 1,第 241 行关键字 'AS' 附近有语法错误。解决方案:在Select后加上 TOP (100) PERCENT
2015-02-05 10:37:01 851
原创 C#动画控件(一张图包含所有动作)
如游戏中,一张图片中包含了动画的所有帧。其实没必要做这么个控件,只需要将动画做成Gif,然后使用PictureBox加载这个Gif就可以了~囧。但是为了验证是否两者有区别,特意做了这个动画控件,直接丢弃了太可惜,记录一下吧~~以后需要可以直接用。步骤:1. 添加组件AnimationControl,添加一个Sytem.Windows.Timer作为帧管理器。2. 注册Timer的Tic
2015-02-04 16:25:24 6285
原创 DevExpress-GridControl控件-GridView使用
GridControl在不同版本(目前使用14.1.8)提供了多种不同的视图,它不仅比DataGridView强大,而且在数据加载性能各方面也有了很大的提升。在此对之前的研究做一份整理记录,以备后用。
2015-01-21 11:50:45 7247
原创 C#性能优化集锦
做C#开发总会遇到那么些令人头疼的问题,而相对来说可能最头疼的就是性能问题。或许不能流畅到像C/C++的程序那样,但是多多注意性能问题,结合C#本身自有的优势,也是毫不逊色于其他开发语言的。
2014-12-31 11:23:23 865
转载 截屏(带鼠标)
截屏并保存屏幕中的鼠标。截屏比较简单,使用CopyFromScreen就可以做到,但保存屏幕中的鼠标却不能用this.Cursor属性,需要使用到API。private void button1_Click(object sender, EventArgs e){ Size screenSize = Screen.PrimaryScreen.WorkingArea.Size;
2014-12-17 21:04:08 4332
原创 C#XmlDocument无法读取utf-16文件
<DataProviders Default="A"> <Provider Name="A" Type="OleDataProvider" ConnectionString="Provider=SQLOLEDB.1;Password=xx;User ID=sa;Data Source=192.168.1.x\SQL2008;Initial Catalog=xxx" /> <Pro
2014-11-18 16:53:59 2226
原创 C#内存泄露与资源释放 经验总结
经验总结:C#并不是有了垃圾回收机制,你就可以对内存管理放任不管,其实在稍不注意的时候,可能就造成了内存泄露,或者超大内存占用~以下记录下遇到过的内存优化-内存泄露的问题与应对方案。1. string与StringBuilder,字符串拼接操作的问题。这个问题经常碰到,所以把它放第一位,看代码:string txt = string.Empty;for (int i
2014-11-13 18:39:02 29201 1
原创 2.24 边界,边界,还是边界
模拟下单业务逻辑:public class Client { public final static int LIMIT = 2000;// 可拥有产品的最大数量 public static void main(String[] args) { int cur = 1000;// 目前拥有产品数量 Scanner input = new Scanner(System.in); S
2014-11-02 02:02:09 964
原创 2.23 不要让类型默默转换
System.out.println("光速1s:" + LIGHT_SPEED * 1 + "米");System.out.println("光速8分钟:" + LIGHT_SPEED * 60 * 8 + "米");
2014-11-02 01:33:32 725
原创 《编写高质量代码:改善Java程序的151个建议》 建议15
13. 避免为final变量复杂赋值继上一节,final还可以通过在声明时通过方法返回值赋值,如:
2014-11-01 18:38:26 760
原创 《编写高质量代码:改善Java程序的151个建议》 建议14
14. 避免为final变量复杂赋值继上一节,final还可以通过在声明时通过方法返回值赋值,如:
2014-11-01 16:07:46 550
原创 《编写高质量代码:改善Java程序的151个建议》 建议13
13. 避免用序列化类在构造函数中为不变量赋值我们知道final标识的属性是不变量,也就是说只能赋值一次,当序列化与反序列化的过程中,涉及到final变量时,就会有些复杂,比如以下情况:
2014-11-01 15:49:15 606
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人