随笔分类 -  c#

摘要:作为.NET进阶内容的一部分,垃圾回收器(简称GC)是必须了解的内容。本着“通俗易懂”的原则,本文将解释CLR中垃圾回收器的工作原理。基础知识托管堆(Managed Heap)先来看MSDN的解释:初始化新进程时,运行时会为进程保留一个连续的地址空间区域。这个保留的地址空间被称为托管堆。"托管堆也是... 阅读全文
posted @ 2015-08-21 08:51 awp110 阅读(237) 评论(0) 推荐(0)
摘要:在" .NET的堆和栈01,基本概念、值类型内存分配"中,了解了"堆"和"栈"的基本概念,以及值类型的内存分配。我们知道:当执行一个方法的时候,值类型实例会在"栈"上分配内存,而引用类型实例会在"堆"上分配内存,当方法执行完毕,"栈"上的实例由操作系统自动释放,"堆"上的实例由.NET Framew... 阅读全文
posted @ 2015-08-12 14:13 awp110 阅读(188) 评论(0) 推荐(0)
摘要:释放未托管的资源有两种方法1、析构函数2、实现System.IDisposable接口一、析构函数 构造函数可以指定必须在创建类的实例时进行的某些操作,在垃圾收集器删除对象时,也可以调用析构函数。析构函数初看起来似乎是放置释放未托管资源、执行一般清理操作的代码的最佳地方。但是,事情并不是如此简单。由... 阅读全文
posted @ 2015-08-12 14:07 awp110 阅读(213) 评论(0) 推荐(0)
摘要:什么是CLR? 什么是托管模块? 托管模块由什么组成? 。net代码的执行过程 http://www.cnblogs.com/aaa6818162/p/4726581.html http://www.cnblogs.com/kingmoon/archive/2012/07/16/2594459.ht 阅读全文
posted @ 2015-08-10 08:33 awp110 阅读(227) 评论(0) 推荐(0)
摘要:async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了。但是这也给我们编程埋下了一些隐患,有时候可能会产生一些我们自己都不知道怎么产生的Bug,特别是如果连线程基础没有理解的情况下,更不... 阅读全文
posted @ 2015-07-29 10:51 awp110 阅读(153) 评论(0) 推荐(0)
摘要:前言 1、天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西。 2、夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅。据说它是微软自c#1.0后新增的最重要的功能之一。lambda简介 lambda运算符:所有的lambda表达式都是用新的lambda... 阅读全文
posted @ 2015-07-26 09:31 awp110 阅读(189) 评论(0) 推荐(0)
摘要:http://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory01122006130034PM/csharp_memory.aspx?ArticleID=9adb0e3c-b3f6-40b5-98b5-413b6d348b91&Page... 阅读全文
posted @ 2015-07-17 09:01 awp110 阅读(146) 评论(0) 推荐(0)
摘要:类及成员类是一组对象的属性和行为特征的抽象描述,对象是类的实例。类是抽象的,对象是具体的。 抽象是有选择的忽略。 封装:使数据及方法结合;控制访问可见性。允许控制---只能通过公共的方法来访问对象。 允许变化---私有对象的类型发生变化也不会影响对象的使用。静态数据描述了一个类的所有对象的信息。静态... 阅读全文
posted @ 2015-07-17 08:31 awp110 阅读(232) 评论(0) 推荐(0)
摘要:当你声明一个变量时内存中都发生了什么?当你在一个.Net应用程序中声明一个变量时,首先要分配一些内存快到RAM,它包括三样东西,第一个是变量名,第二个是变量的数据类型,最后一个是变量的值。这只是一个很简单的解释,根据变量的数据类型不同,有两种内存分配类型:堆栈内存和堆内存。图 2 声明变量后的内存结... 阅读全文
posted @ 2015-07-17 08:30 awp110 阅读(232) 评论(0) 推荐(0)
摘要:http://www.2cto.com/kf/201109/103302.htmlhttp://www.c-sharpcorner.com/UploadFile/rmcochran/csharp_memory2B01142006125918PM/csharp_memory2B.ASPxhttp://... 阅读全文
posted @ 2015-07-14 08:51 awp110 阅读(593) 评论(0) 推荐(0)
摘要:标题状态内容NET应用程序是如何执行的?http://www.cnblogs.com/kingmoon/archive/2012/07/16/2594459.html从汇编入手,探究泛型的性能问题汇编及IL从这里我们可以看到,CLR为引用类型(string/object/Program)生成共享的机... 阅读全文
posted @ 2015-07-12 10:04 awp110 阅读(538) 评论(0) 推荐(0)
摘要:一、AOP实现初步AOP将软件系统分为两个部分:核心关注点和横切关注点。核心关注点更多的是Domain Logic,关注的是系统核心的业务;而横切关注点虽与核心的业务实现无关,但它却是一种更Common的业务,各个关注点离散地分布于核心业务的多处。这意味着,如果不应用AOP,那么这些横切关注点所代表的业务代码,就会分散在系统各处,导致系统中的每个模块都与这些业务具有很强的依赖性。在这里,所谓横切关注点所代表的业务,即为“方面(Aspect)”,常见的包括权限控制、日志管理、事务处理等等。 以权限控制为例,假设一个电子商务系统,需要对订单管理用户进行权限判定,只有系统用户才能添加、修改和删除订单 阅读全文
posted @ 2013-01-11 09:08 awp110 阅读(193) 评论(0) 推荐(0)
摘要:c# 扩展方法出来已久,介绍扩展方法的文章也很多,但都是笼统的。本人最近一直在思考扩展方法的应用,也悟出了一些,准备将这最近一段时间对扩展方法的思考,写成一个系列文章。每个文章只介绍一个应用方面,篇幅不会太长。先声明一下,本系列文章主要为提供一个新的编程的思路(所提供的代码仅供参考,不足处请包涵),希望大家把讨论的重点放在编程思想上。打算将文章写成三个部分:基础篇、高级篇、变态篇。1.基础篇简单易懂,主要是一些常用操作。2.高级篇会将扩展方法与泛型、委托、lambda表达式、反射、异步调用、多线程等相接合。3.变态篇,为改变形态之意,是一些实际中很难用到的扩展,仅供开拓思路。整个系列初步打算写 阅读全文
posted @ 2013-01-09 09:22 awp110 阅读(166) 评论(0) 推荐(0)
摘要:前一段时间应公司要求,让我开发一个数据库字段信息CHM帮助文件生成软件。结果当时我就二了,这个东西我只用过,不知道咋做啊。没想到老大很随意说一句:"没事,这个软件我之前有有源码,只不过现在不能用了,你等会参考一下就可以了"。我当时还傻乎乎的谢天谢地,总算有源码可以参考了。当源代码发过来以后,我顿时石化了,我。。。。。,那玩意儿用c++builder开发的,硬着头皮看了一遍,全是带*指针变量、数组、集合、函数,更要命的是,一个类里面写了四五千行没注视的代码,函数中五六百行代码的有几个。 我说这不是坑人嘛?结果看了一天后,我果断放弃看了那个源码了,最后还是的感谢网上活跃的一帮朋 阅读全文
posted @ 2012-09-08 10:37 awp110 阅读(258) 评论(0) 推荐(1)
摘要:Func,Action 的介绍及其用法Func是一种委托,这是在3.5里面新增的,2.0里面我们使用委托是用Delegate,Func位于System.Core命名空间下,使用委托可以提升效率,例如在反射中使用就可以弥补反射所损失的性能。Action<T>和Func<T,TResult>的功能是一样的,只是Action<T>没有返类型,Func<T,T,Result>:有参数,有返回类型Action,则既没有返回也没有参数,Func<T,TResult> 的表现形式分为以下几种:1。Func<T,TResult>2。Fun 阅读全文
posted @ 2012-08-09 10:50 awp110 阅读(266) 评论(0) 推荐(0)
摘要:数组概述 C# 数组从零开始建立索引,即数组索引从零开始。C# 中数组的工作方式与在大多数其他流行语言中的工作方式类似。但还有一些差异应引起注意。声明数组时,方括号 ([]) 必须跟在类型后面,而不是标识符后面。在 C# 中,将方括号放在标识符后是不合法的语法。int[] table; // not int table[]; 另一细节是,数组的大小不是其类型的一部分,而在 C 语言中它却是数组类型的一部分。这使您可以声明一个数组并向它分配 int 对象的任意数组,而不管数组长度如何。int[] numbers; // declare numbers as an int array of any 阅读全文
posted @ 2012-08-06 09:29 awp110 阅读(140) 评论(0) 推荐(0)