C#
文章平均质量分 83
@朱较瘦
只要还有明天,今天就永远是起跑线~~
展开
-
枚举Enum扩展类
https://www.cnblogs.com/eedc/p/6877453.html转载 2018-04-09 15:24:20 · 1128 阅读 · 0 评论 -
Dos批处理
http://blog.chinaunix.net/uid-20622737-id-1912761.html转载 2016-09-21 11:08:10 · 242 阅读 · 0 评论 -
C# 浅克隆与深克隆
一、浅克隆: 在浅克隆中,如果原型对象的成员变量是值类型,将复制一份给克隆对象;如果原型对象的成员变量是引用类型,则将引用对象的地址复制一份给克隆对象,也就是说原型对象和克隆对象的成员变量指向相同的内存地址。简单来说,在浅克隆中,当对象被复制时只复制它本身和其中包含的值类型的成员变量,而引用类型的成员对象并没有复制,如图:在C#中,通过实现ICloneable接口的Clone方原创 2016-09-23 17:53:36 · 11263 阅读 · 1 评论 -
C# 延迟执行:Lazy<T>
在.NET4.0中,可以使用Lazy 来实现对象的延迟初始化,从而优化系统的性能。延迟初始化就是将对象的初始化延迟到第一次使用该对象时。延迟初始化是我们在写程序时经常会遇到的情形,例如创建某一对象时需要花费很大的开销,而这一对象在系统的运行过程中不一定会用到,这时就可以使用延迟初始化,在第一次使用该对象时再对其进行初始化,如果没有用到则不需要进行初始化,这样的话,使用延迟初始化就提高程序的效率,从原创 2016-09-07 14:22:00 · 2612 阅读 · 0 评论 -
C# 各类计时器
一、多线程计时器:1:System.Threading.Timer2:System.Timers.Timer二、特殊的单线程计时器:1:System.Windows.Forms.Timer(Windows Forms Timer)2:System.Windows.Threading.DispatcherTimer(WPF timer);线程计时器比较强大,精确,而且可扩展性原创 2016-09-07 12:14:35 · 707 阅读 · 0 评论 -
C# Equals.
http://kb.cnblogs.com/page/107604/http://www.w2bc.com/Article/32314转载 2016-09-18 16:55:55 · 251 阅读 · 0 评论 -
远程获取图片二进制流及保存到本地
protected void Page_Load(object sender, EventArgs e){ WebRequest myrequest = WebRequest.Create("http://xxxxx/userface.jpg"); WebResponse myresponse = myrequest.GetResponse(); Stream imgstream =原创 2016-08-25 15:17:16 · 7214 阅读 · 0 评论 -
C#5.0特性之 async异步方法
//1.方法用async关键字修饰 //2.返回值只能是void,Task,或Task //3.方法以Async为后缀 public static async Task AccessTheWebAsync() { HttpClient client = new HttpClient();原创 2016-09-03 10:25:23 · 2321 阅读 · 0 评论 -
Common.Logging
引用Common.Logging.dllprivate static ILog _log = LogManager.GetLogger(typeof(类名));_log.Info("--- Error in job!");原创 2016-08-10 18:04:54 · 1428 阅读 · 0 评论 -
C#4.0新特性之元组Tuple
组元使用泛型来简化一个类的定义。 public class Point { public int X { get; set; } public int Y { get; set; } } //the user customer data type. Point p = new Point(原创 2016-08-31 16:39:28 · 2693 阅读 · 0 评论 -
C#6.0新特性
http://files.cnblogs.com/files/aehyok/VS2015CSharp6.0.pdf一、自动属性初始化Old: public class User { private bool _isEnabled = true; public bool IsEnabled { get原创 2016-08-31 15:20:05 · 1378 阅读 · 0 评论 -
Newtonsoft.Json 4.5.11
static void Main(string[] args) { string jsonText = "[{\"a\":\"aaa\",\"b\":\"bbb\",\"c\":\"ccc\"},{\"a\":\"aaa2\",\"b\":\"bbb2\",\"c\":\"ccc2\"}]"; //JArray ja = (JArra原创 2016-08-31 15:09:22 · 722 阅读 · 0 评论 -
.NET 自带的压缩和解压
System.IO.Compression命名空间包含如下的基本的文件和流压缩和解压缩服务的类型, 还可以使用这些类型来读取和修改压缩文件的内容,主要有以下类:ZipFileZipArchiveZipArchiveEntryDeflateStreamGZipStream 1.使用 ZipFile 类创建和提取有一个 .zip 文件扩展名的压缩文件:必须引原创 2016-07-04 11:05:21 · 14974 阅读 · 3 评论 -
C#中FlagsAttribute属性在enum中的应用
Net C#中枚举的声明格式如下所示:[attributes] [modifiers] enum identifier [:base-type] {enumerator-list} [;]FlagsAttribute属性就是枚举类型的一项可选属性。它的主要作用是可以将枚举作为位域处理(P.S. C#不支持位域)。所谓位域是单个存储单元内相邻二进制位的集合。通过为枚举添加这个属性,可以改变枚举的原创 2016-08-30 18:16:29 · 5899 阅读 · 1 评论 -
C#调用Win32 API
http://www.cnblogs.com/benwu/p/4132026.html转载 2016-08-30 16:53:10 · 727 阅读 · 0 评论 -
C# Lazy<T>实现单例模式
private readonly static Lazy _instance = new Lazy(() => new StockTicker(GlobalHost.ConnectionManager.GetHubContext().Clients)); public static StockTicker Instance { get { return原创 2016-09-10 11:23:38 · 3275 阅读 · 0 评论 -
C# 执行dos命令及批处理
class Program { static void Main(string[] args) { //ProcessCommand("cmd.exe", @"cd\" + Environment.NewLine + "cd MyFiles" + Environment.NewLine + @"copy *.* D:\" + Envi原创 2016-06-03 14:27:35 · 725 阅读 · 0 评论 -
加密算法
MD5加密算法:SHA256加密算法:SHA516算法:原创 2016-11-24 15:12:52 · 262 阅读 · 0 评论 -
c#动态编译和执行代码
在开始之前,先熟悉几个类及部分属性、方法:CSharpCodeProvider、ICodeCompiler、CompilerParameters、CompilerResults、Assembly。 一、CSharpCodeProvider 提供对C#代码生成器和代码编译器的实例的访问。如果要动态生成VB代码,可以使用VBCodeProvider。 CreateCo转载 2017-06-08 16:25:26 · 3779 阅读 · 0 评论 -
C#:IComparable和ICompare
接口的功能 我想大家都是知道的,书上已经讲的天花烂醉了但是烦人的是大部分初学者包括我死活看不懂他们说的是什么意思,昨晚在C#高级编程中看了看总算 理解 了 一点点的小作用,在此记录下以便以后拾遗 主要是通过Array的Sort方法来理解的 Sort方法要 通过对象去继承IComparable接口来实现排序(当然也有其它办法),我想入门这可能就是对这句话有点不理解,在下面会有注释转载 2017-05-22 11:28:14 · 2230 阅读 · 0 评论 -
C# 集合总结
先来了解下集合的基本信息1、BCL中集合类型分为泛型集合与非泛型集合。2、非泛型集合的类和接口位于System.Collections命名空间。3、泛型集合的类和接口位于System.Collections.Generic命名空间。 ICollection接口是System.Collections命名空间中非泛型集合类的基接口,它继承自IEnumerable接口,从IEnumer转载 2017-05-19 16:08:35 · 341 阅读 · 0 评论 -
集合----ArrayList、HashTable、List、Dictionary的演化及如何选择使用
在C#中,数组由于是固定长度的,所以常常不能满足我们开发的需求。由于这种限制不方便,所以出现了ArrayList。一、ArrayList、ListArrayList是可变长数组,你可以将任意多的数据Add到ArrayList里面。其内部维护的数组,当长度不足时,会自动扩容为原来的两倍。但是ArrayList也有一个缺点,就是存入ArrayList里面的数据都是Object类型的原创 2017-05-19 16:23:55 · 583 阅读 · 0 评论 -
Json.net实现方便的Json转C#(dynamic动态类型)对象
以前需要将一段json字符串转换为C#对象时,一般都是定义一个与之对应的实体类来接收。这样做有一个很大的缺点,就是当字符串特别长,属性特别多,又有嵌套时,手敲这个实体类就非常痛苦。 比如之前做的一个接收百度七天天气预报的API,层层嵌套,很痛苦。 C# 4.0 之后有了动态类型dynamic。用这个东西配合Json.net可以实现不用定义实体类的json转dynamic类型对象原创 2017-05-19 16:11:57 · 7373 阅读 · 0 评论 -
线程同步总结
多线程访问共享数据时就会产生线程同步问题,.NET 为解决线程同步问题提供了很多种方法,下面对一些常用的方法做个总结:1.lock 关键字或 监视器Monitorlock(obj){ // synchronized region}注意:obj 必须是引用类型,你可以理解为如果是值类型,lock 的是值类型的副本,没有任何意义。看一个示例: 启动 4 个线程,每个线程多静态原创 2017-05-26 15:59:36 · 383 阅读 · 0 评论 -
线程使用方法总结
1.Thread// one threadThread thread = new ThreadStart(functiion);thread.Start();// thread.joinThread ThreadA = new Thread(delegate(){ //do something }); Thread ThreadB = new Thread(d原创 2017-05-25 16:59:13 · 327 阅读 · 0 评论 -
IComparer<T>:Linq比较接口
IComparer比较两个对象并返回一个值,指示一个对象是小于、等于还是大于另一个对象。 在Linq当中,很多扩展方法接受一个实现IComparer接口的实例的对象作为参数,因此想明白Linq中很多个方法的IComparer comparer参数的意义,首先要对此接口有个认识。 该接口只有一个成员方法: CompareTo 比较当前对象和同一类型的另一对象。 此接口由值可原创 2017-05-25 16:11:23 · 1139 阅读 · 0 评论 -
IEqualityComparer<T>接口
IEqualityComparer接口的对象的主要作用在于自定义判断两个对象是否相等。其中最常用的方法: bool Equals(T x, T y);实现该方法用于比较两个对象是否相等。如果指定的对象相等,则为 true;否则为 false。class Program { static void Main(string[] args) {原创 2017-05-25 16:08:37 · 1974 阅读 · 0 评论 -
C#序列化与反序列化
序列化的作用是什么?为什么要序列化? 1、在进程下次启动时读取上次保存的对象的信息。 2、在不同的应用程序域或进程之间传递数据。 3、在分布式应用程序中的各应用程序之间传输对象。 所为序列化,就是将对象先转换为一种适当格式,然后再将其传输到目标位置的过程。 所为适当格式,有时候需要是二进制格式,有时候需要SOAP格式或者其他的XML,JSON格式等,也可以使应用程序所原创 2017-05-24 14:50:26 · 419 阅读 · 0 评论 -
反射
反射用于在程序运行过程中,获取类里面的信息或发现程序集并运行的一个过程。通过反射可以获得.dll和.exe后缀的程序集里面的信息。使用反射可以看到一个程序集内部的类,接口,字段,属性,方法,特性等信息。一、各种GetType()、typeof的区别 class Program { static void Main(string[] args)转载 2017-05-24 14:46:31 · 273 阅读 · 0 评论 -
JSON详解
JSON详解阅读目录JSON的两种结构认识JSON字符串在JS中如何使用JSON在.NET中如何使用JSON总结JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法,它是一种基于文本,独立于语言的轻量级数据交换格式。XML也是一种数据交换格式,为什么没有选择XML呢?因为XML虽然可以作为跨平台的数据交换转载 2017-04-01 15:38:38 · 274 阅读 · 0 评论 -
C#微信开发
http://www.cnblogs.com/Leo_wl/p/5706169.html转载 2016-12-16 16:35:49 · 379 阅读 · 0 评论 -
表达式树
http://www.cnblogs.com/Leo_wl/p/5734831.html转载 2016-12-16 15:20:32 · 301 阅读 · 0 评论 -
C# 并发集合
基于任务的程序设计、命令式数据并行和任务并行都要求能够支持并发更新的数组、列表和集合。在.NET Framework 4 以前,为了让共享的数组、列表和集合能够被多个线程更新,需要添加复杂的代码来同步这些更新操作。如您需要编写一个并行循环,这个循环以无序的方式向一个共享集合中添加元素,那么必须加入一个同步机制来保证这是一个线程安全的集合。一、System.Collencti原创 2016-08-29 18:00:13 · 1131 阅读 · 0 评论 -
C# yield return 和 yield break
1. 在语句中使用 yield 关键字,表示在该关键字所在的方法、运算符或 get 访问器是迭代器。 通过使用 yield 定义迭代器,可在实现自定义集合类型的 IEnumerable 和 IEnumerator 模式时无需其他显式类 2.yield return 用于返回IEnumerable、IEnumerable、IEnumerator 或 IEnumerator,一次返回一个元素原创 2016-08-29 16:35:20 · 1106 阅读 · 0 评论 -
C# 命令行分析器
http://commandline.codeplex.com/下载CommandLine.dll;应用using CommandLine;using CommandLine.Text;作用:用于取出命令行中的参数。使用:定义 一个CommandLineArguments类:class CommandLineArguments {原创 2016-09-09 14:58:55 · 1509 阅读 · 0 评论 -
C# Sort排序
List 的Sort方法排序有三种结果 1,0,-1分别表示大于,等于,小于。1.对于数值类型的List (List),直接使用Sort进行排序。List scoreList=new List(){89,100,78,23,67};scoreList.Sort();//默认按升序排列,相当于:scoreList.Sort((x,y)=>x.CompareTo(y))scoreLis原创 2016-05-19 23:09:55 · 38328 阅读 · 1 评论 -
C#时间格式化
C#时间格式化:m.LastUpdateTime.ToString("yyyy-MM-dd HH:mm:ss")原创 2016-05-09 16:36:08 · 291 阅读 · 0 评论 -
保留两位小数
String.Format("{0:F}", Model.Price)原创 2016-04-23 16:59:04 · 377 阅读 · 0 评论 -
Json字符串转成XML
public static bool Json2XML(string fileName) { string ext = Path.GetExtension(fileName); if (string.Compare(".json", ext, true) != 0) {原创 2016-04-21 16:34:49 · 679 阅读 · 0 评论 -
ashx文件获取$.ajax()方法发送的数据
http://www.cnblogs.com/xdp-gacl/archive/2013/12/07/3462349.html转载 2016-05-18 14:19:24 · 837 阅读 · 0 评论