随笔分类 -  C#

WPF多线程UI更新
摘要:前言 在WPF中,在使用多线程在后台进行计算限制的异步操作的时候,如果在后台线程中对UI进行了修改,则会出现一个错误:(调用线程无法访问此对象,因为另一个线程拥有该对象。)这是很常见的一个错误,一不小心就会有这个现象。在WPF中,如果不是用多线程的话,例如单线程应用程序,就是说代码一路过去都在GUI 阅读全文

posted @ 2019-05-07 08:43 Honnnnl 阅读(444) 评论(0) 推荐(0)

Bridge 、 Adapter 和 Facade 的区别
摘要:Bridge和Adapter是没有关系的,而和Facade比较象,但在我的经验中更多的时候是会混淆Bridge和adapter而不是Facade,这里详细的列出三个模式的比较。 一. 定义: 1、Facade模式是为一个复杂系统提供一个简单的接口。比如你要去博物馆参观,很多东西,你一个个到处去问每个 阅读全文

posted @ 2019-04-02 09:43 Honnnnl 阅读(708) 评论(0) 推荐(0)

UML类图与类的关系详解
摘要:在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。下面我们结合实 阅读全文

posted @ 2019-03-15 14:25 Honnnnl 阅读(274) 评论(0) 推荐(0)

uml 类图依赖与关联的区别
摘要:类与类之间由弱到强关系是: 没关系 < 依赖 < 关联 < 聚合 < 组合。 1、依赖(dependency) 可以简单的理解,就是一个类A使用到了另一个类B,而这种使用关系是具有偶然性的、、临时性的、非常弱的,但是B类的变化会影响到A;比如某人要过河,需要借用一条船,此时人与船之间的关系就是依赖; 阅读全文

posted @ 2019-03-15 13:26 Honnnnl 阅读(744) 评论(0) 推荐(0)

UML类图几种”关系“的总结
摘要:在UML类图中,常见的有以下几种关系: 泛化(Generalization)(继承), 实现(Realization)(接口实现),组合(Composition),聚合(Aggregation),关联(Association),依赖(Dependency) 1. 泛化(Generalization) 阅读全文

posted @ 2019-03-15 10:50 Honnnnl 阅读(218) 评论(0) 推荐(0)

SQLite 之 C#版 System.Data.SQLite 使用
摘要:简介 SQLite简介 SQLite,是一款轻型的关系型数据库。它的设计目标是嵌入式。 它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 C++、C#、Object-C、PHP、Java等。 我是做手游开发的,在手机上使用SQLite 存储数据是很 阅读全文

posted @ 2019-01-22 14:40 Honnnnl 阅读(634) 评论(0) 推荐(0)

.net程序运行流程
摘要:程序员用.net开发的程序要在计算机上运行,首先程序经过编译后,会生成机器指令,一般以一个文件的形式保存,这个文件在外存储器上(存储器分外存与内存。外存:硬盘,U盘等;) 然后cpu会把硬盘上的文件读到内存中,会在内存中分配一个内存区域,专门存放文件内容,会有个唯一的地址,cpu就会读到这个地址,取 阅读全文

posted @ 2019-01-22 10:18 Honnnnl 阅读(1092) 评论(0) 推荐(0)

一种简单,轻量,灵活的C#对象转Json对象的方案
摘要:简单,是因为只有一个类 轻量,是因为整个类代码只有300行 灵活,是因为扩展方式只需要继承重写某个方法即可 首先我将这个类称之为JsonBuilder,我希望它以StringBuilder的方式来实现Json字符串的转换 然后我为希望为每一个基础类型单独完成一个方法,并且方法可以被重写 为了使子类重 阅读全文

posted @ 2019-01-04 10:50 Honnnnl 阅读(558) 评论(0) 推荐(0)

C#程序员应该养成的程序性能优化写法
摘要:工作和生活中经常可以看到一些程序猿,写代码的时候只关注代码的逻辑性,而不考虑运行效率 其实这对大多数程序猿来说都是没有问题的 不过作为一只有理想的CodeMonkey,我还是希望给大家分享一些性能优化心得 曾经在网上听过这样一句话 程序的可读性和性能是成反比的 我非常赞同这句话,所以对于那些极度影响 阅读全文

posted @ 2019-01-04 10:38 Honnnnl 阅读(371) 评论(0) 推荐(0)

C# 获取Windows系统:Cpu使用率,内存使用率,Mac地址,磁盘使用率
摘要:一、获取CPU使用率: 二、获取内存使用率 其中ManagementClass类需要手动引用System.Management,然后再using System.Management。 三、获取Mac地址 四、获取磁盘使用率 阅读全文

posted @ 2019-01-04 10:00 Honnnnl 阅读(1718) 评论(0) 推荐(0)

WPF中选择文件及文件夹
摘要:最近从winform转WPF,遇到了各种各样的问题。然而网上的关于WPF的资料少之又少,甚至连基本的文件选择操作,百度搜索的首页都没有一个比较好的方法。所以,踩了几个坑之后,我把我得到的方法分享给大家。 首先,在WPF的代码页面引入winform用的命令空间 using System.Windows 阅读全文

posted @ 2018-12-27 15:37 Honnnnl 阅读(792) 评论(0) 推荐(0)

推荐一些C#相关的网站和书籍
摘要:1、http://msdn.microsoft.com/zh-CN/ 微软的官方网站,C#程序员必去的地方。那里有API开发文档,还有各种代码、资源下载。 2、http://social.msdn.microsoft.com/Forums/zh-CN/home 微软msdn论坛。定位于微软技术的传播 阅读全文

posted @ 2018-12-12 14:00 Honnnnl 阅读(515) 评论(0) 推荐(0)

RabbitMQ及其.NET客户端——几个小例子
摘要:一、简单生产者-消费者(使用direct交换器) 1、生产者 2、消费者 二、简单任务队列 1、任务发布者 主要代码与第一节的生产者代码一样。。只不过需要将发给工作者执行的任务放到消息里。 2、工作者 主要代码与第一节的消费者代码一样。。只不过工作者要解析任务,执行任务。 默认RabbitMQ会将每 阅读全文

posted @ 2018-11-27 13:28 Honnnnl 阅读(312) 评论(0) 推荐(0)

C#编程高并发的几种处理方法
摘要:并发(英文Concurrency),其实是一个很泛的概念,字面意思就是“同时做多件事”,不过方式有所不同。在.NET的世界里面,处理高并发大致有以下几种方法: 1,异步编程 异步编程就是使用future模式(又称promise)或者回调机制来实现(Non-blocking on waiting)。如 阅读全文

posted @ 2018-11-12 09:20 Honnnnl 阅读(493) 评论(0) 推荐(0)

Dictionary(数据字典)
摘要:数据字典:Dictionary对象用于在结对的名称/值中存储信息(等同于键和项目),其可作为传参使用。 C# Dictionary字典类的使用方法 //定义字典 Dictionary<string, string> d = new Dictionary<string, string>(); //添加 阅读全文

posted @ 2018-10-29 10:02 Honnnnl 阅读(396) 评论(0) 推荐(0)

WPF中 MVVM模式的Slider Binding.
摘要:对于Button的Command的绑定可以通过实现ICommand接口来进行,但是Slider并没有Command属性。 另外如果要实现MVVM模式的话,需要将一些Method和Slider的Event进行绑定,如何进行呢? (对于UIElement的一些Event进行绑定一定有一些通用的方法,目前 阅读全文

posted @ 2018-10-25 15:16 Honnnnl 阅读(952) 评论(0) 推荐(0)

WPF中MVVM模式的 Event 处理
摘要:WPF的有些UI元素有Command属性可以直接实现绑定,如Button 但是很多Event的触发如何绑定到ViewModel中的Command呢? 答案就是使用EventTrigger可以实现。 继续上一篇对Slider的研究,在View中修改Interaction. 那么如果将EventName 阅读全文

posted @ 2018-10-25 15:14 Honnnnl 阅读(844) 评论(0) 推荐(0)

C#语言之“string格式的日期时间字符串转为DateTime类型”的方法
摘要:方法一:Convert.ToDateTime(string) string格式有要求,必须是yyyy-MM-dd hh:mm:ss 方法二:Convert.ToDateTime(string, IFormatProvider) DateTime dt; DateTimeFormatInfo dtFo 阅读全文

posted @ 2018-10-22 10:09 Honnnnl 阅读(229) 评论(0) 推荐(0)

Socket实现原理和机制
摘要:要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。对于网络编程,我们也言必 阅读全文

posted @ 2018-10-11 10:08 Honnnnl 阅读(1027) 评论(0) 推荐(0)

WPF动态加载3D 放大-旋转-平移
摘要:第一步:新建WavefrontObjLoader.cs 第二步:ModelVisual3DWithName.cs 第三步:MainWindow.xmal 第四步:MainWindow.xmal.cs 阅读全文

posted @ 2018-09-27 16:00 Honnnnl 阅读(561) 评论(0) 推荐(0)

导航