随笔分类 -  C#/.NET

摘要:最近几天在看一本名为Dependency Injection in .NET 的书,主要讲了什么是依赖注入,使用依赖注入的优点,以及.NET平台上依赖注入的各种框架和用法。在这本书的开头,讲述了软件工程中的一个重要的理念就是关注分离(Separation of concern, SoC)。依赖注入不 阅读全文
posted @ 2017-01-31 14:53 LonelyEnvoy 阅读(870) 评论(0) 推荐(0)
摘要:async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了。但是这也给我们编程埋下了一些隐患,有时候可能会产生一些我们自己都不知道怎么产生的Bug,特别是如果连线程基础没有理解的情况下,更不 阅读全文
posted @ 2016-10-25 13:39 LonelyEnvoy 阅读(251) 评论(0) 推荐(0)
摘要:反射(Reflection) 2008年01月02日 星期三 11:21 两个现实中的例子:1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的“回音”反 阅读全文
posted @ 2016-10-24 23:47 LonelyEnvoy 阅读(304) 评论(0) 推荐(0)
摘要:如果想在c#中使用指针,首先对项目进行配置:在解决方案资源管理器中右击项目名选择属性(或在项目菜单中选择consoleApplication属性(consoleApplication为项名)),在生成选项卡中 选中“允许不安全代码”,如下图: 然后将有关指针,地址的操作放在unsafe语句块中。使用 阅读全文
posted @ 2016-10-11 13:33 LonelyEnvoy 阅读(836) 评论(0) 推荐(0)
摘要:泛型(generic)是C#语言2.0和通用语言运行时(CLR)的一个新特性。泛型为.NET框架引入了类型参数(type parameters)的概念。类型参数使得设计类和方法时,不必确定一个或多个具体参数,其的具体参数可延迟到客户代码中声明、实现。这意味着使用泛型的类型参数T,写一个类MyList 阅读全文
posted @ 2016-09-04 15:54 LonelyEnvoy 阅读(2329) 评论(0) 推荐(0)
摘要:在 stream流 和 byte[] 中查找(搜索)指定字符串 这里注重看的是两个 Search 的扩展方法,一个是 stream 类型的扩展,另一个是 byte[] 类型的扩展, 如果大家有更好的“算法”,请给回复,我们一起优化! -- 常用扩展代码,需要这部分代码的支持! using Syste 阅读全文
posted @ 2016-09-02 19:54 LonelyEnvoy 阅读(1084) 评论(0) 推荐(0)
摘要:命名空间 System.Collections 名称 哈希表(Hashtable) 描述 用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中keyvalue键值对均为object类型,所以Hash 阅读全文
posted @ 2016-09-02 16:00 LonelyEnvoy 阅读(2500) 评论(0) 推荐(0)
摘要:这一篇要总结的是五天查找的最后一篇,哈希查找,也称为散列查找(本文以哈希称呼)。提起哈希,我的第一印象就是C#中的Hashtable类,它是由一组key/value的键值对组成的集合,它就是应用了散列技术。 那么,什么是哈希查找呢?在弄清楚什么是哈希查找之前,我们要弄清楚哈希技术,哈希技术是在记录的 阅读全文
posted @ 2016-09-02 15:45 LonelyEnvoy 阅读(1460) 评论(0) 推荐(0)
摘要:java/c# 判断点是否在多边形区域内 2012年06月29日 ⁄ 综合 ⁄ 共 1547字 ⁄ 字号 小 中 大 ⁄ 评论关闭 最近帮别人解决了一个问题,如何判断一个坐标点,是否在多边形区域内(二维)。 在网上搜索了一圈,都是自己写代码,有多种算法,分凸多边形、凹多边形,总之是麻烦。 继续搜索, 阅读全文
posted @ 2016-08-31 22:41 LonelyEnvoy 阅读(887) 评论(0) 推荐(0)
摘要:dynamic是FrameWork4.0的新特性。dynamic的出现让C#具有了弱语言类型的特性。编译器在编译的时候不再对类型进行检查,编译期默认dynamic对象支持你想要的任何特性。比如,即使你对GetDynamicObject方法返回的对象一无所知,你也可以像如下那样进行代码的调用,编译器不 阅读全文
posted @ 2016-08-28 16:19 LonelyEnvoy 阅读(8632) 评论(0) 推荐(2)
摘要:http://blog.csdn.net/xiaochongchong1248/archive/2009/11/20/4841193.aspx?1271573283 编程环境要求:VS2008/FX2.0 众所周知,从VS2005/FX2.0起,在多线程环境下是不允许跨线程修改主线程上窗口控件的。 阅读全文
posted @ 2016-08-26 10:44 LonelyEnvoy 阅读(540) 评论(0) 推荐(1)
摘要:/* * 题目:压缩字符串。如“abbcccddddeef”,压缩成“a1b2c3d4e2f1” * 解题: 这个题目也是面试常见的题目。看似很简单,其实暗藏杀机。一般的想法就是,一边遍历,一边计数,然后将字符和计数器组合成新的字符串。 * 这个想法没有错,但是结果有漏洞。 * 等你写好算法,一般面 阅读全文
posted @ 2016-08-23 12:04 LonelyEnvoy 阅读(894) 评论(0) 推荐(0)
摘要:1 2 3 4 5 6 7 8 9 10 11 List<string> listString = new List<string>(); listString.Add("abc"); listString.Add("456"); listString.Add("bbb"); listString. 阅读全文
posted @ 2016-08-22 18:21 LonelyEnvoy 阅读(559) 评论(0) 推荐(0)
摘要:C# Task 的用法 其实Task跟线程池ThreadPool的功能类似,不过写起来更为简单,直观。代码更简洁了,使用Task来进行操作。可以跟线程一样可以轻松的对执行的方法进行控制。 顺便提一下,配合CancellationTokenSource类更为可以轻松的对Task操作的代码进行中途终止运 阅读全文
posted @ 2016-08-21 10:17 LonelyEnvoy 阅读(447) 评论(0) 推荐(0)
摘要:委托的声明 public delegate void MyDelegate(string str); 注 1、委托的定义和方法的定义类似,只是在前面加了一个delegate,但委托不是方法,它是一种特殊的类型,看成是一种新的对象类型比较好理解。用于对与该委托有相同签名的方法调用。 2、委托相当于C+ 阅读全文
posted @ 2016-08-20 12:21 LonelyEnvoy 阅读(1246) 评论(0) 推荐(0)
摘要:BackgroundWorker 可以用于启动后台线程。 主要的事件及参数: 1.DoWork——当执行BackgroundWorker.RunWorkerAsync方法时会触发该事件,并且传递DoWorkEventArgs参数; 2.RunWorkerCompleted——异步操作完成或中途终止会 阅读全文
posted @ 2016-08-19 16:56 LonelyEnvoy 阅读(1103) 评论(0) 推荐(0)
摘要:软件界面的响应特性是判断一款软件的非常重要的方面。一般来说,不管你软件功能做得有多么奇妙,如果软件有一点点死机的感觉都会让用户感到很讨厌,甚至怀疑你软件里是否藏有更大的问题。 要提高界面的响应特性,最好的办法莫过于使用多线程,并把呈现界面的线程独立出来。以前只有使用C++才能实现的多线程功能,现在在 阅读全文
posted @ 2016-08-19 16:27 LonelyEnvoy 阅读(2101) 评论(0) 推荐(0)
摘要:C#获取指定网页HTML原代码可使用 WebClient WebRequest HttpWebRequest 三种方式来实现。 当然也可使用webBrowse!在此就不研究webBrowse如何获取了。 WebClient private string GetWebClient(string url 阅读全文
posted @ 2016-08-19 13:38 LonelyEnvoy 阅读(268) 评论(0) 推荐(0)
摘要:学习C#之初,始终不知道怎么命名比较好,很多时候无从命名,终于有一天我整理了一份命名规范文档,自此我就是按照这个命名规范书写代码,整洁度无可言表,拙劣之处请大家斧正,愚某虚心接受,如有雷同,不胜荣幸 C#语言开发规范 作者ching 1. 命名规范 a) 类 【规则1-1】使用Pascal规则命名类 阅读全文
posted @ 2016-08-15 17:19 LonelyEnvoy 阅读(308) 评论(0) 推荐(0)
摘要:C# 数组 Array foreach 索引 null 地址:http://www.cnblogs.com/txw1958/archive/2013/01/11/csharp-array.html 数组概述 数组是一种数据结构,它包含若干相同类型的变量。数组是使用类型声明的: 数组具有以下属性: 数 阅读全文
posted @ 2016-08-15 10:37 LonelyEnvoy 阅读(362) 评论(0) 推荐(0)