c#
dkss0309
这个作者很懒,什么都没留下…
展开
-
C#中的is和as操作符
ClassA{.... }Object o=new Object();Boolean b1=(o is Object); //b1为true. Boolean b2=(o is ClassA) ; b2为false.【转载】C#中的is和as操作符在C#语言中进行类型转换的操作符is和as。is和as都是强制类型转换,但这两者有什么相同之处和不同之处呢?在使转载 2016-10-24 15:35:46 · 241 阅读 · 0 评论 -
LINQ TO SQL 和 ADO.NET ENTITY 有什么区别呢?
LINQ to SQL和Entity Framework都是一种包含LINQ功能的对象关系映射技术。他们之间的本质区别在于EF对数据库架构和查询的类型实行了更好的解耦。使用EF,查询的对象不再是完全对应数据库架构的C#类,而是更高层的抽象:Entity Data Model。这提供了额外的灵活性,但是在性能和简单性上面也会有所损失。具体二者之间的区别如下:复杂度:支持越多的特性就会越复杂。LI转载 2016-11-18 10:04:49 · 2044 阅读 · 0 评论 -
c#属性get、set不同访问权限写法
虽然知道这么用,但一直没用过,等到用的时候发现不会写了,查了好久才找到~~~。【转载】原来属性的Get和Set访问器还可以这样用以前记得论坛有过一个帖子是专门讨论C#中属性的用处的今天翻阅《C#高级编程》的时候又发现一条C#允许给属性的get和set访问器设置不同的访问修饰符,所以属性可以有公共的get访问器和私有的或者是受保护的set访问器。这有助于控制属性的设置方式或者时间。转载 2016-11-02 18:05:51 · 5168 阅读 · 0 评论 -
如何在.net应用中发现和避免内存和资源泄露
如何在.net应用中发现和避免内存和资源泄露By Fabrice Marguerie尽管很多人相信在.net应用中谈及内存及资源泄露是件很轻松的事情。但GC(垃圾回收器)并不是魔法师,并不能把你完全从小心翼翼处理内存与资源损耗中解放出来。本文中我将解释缘何内存泄露依然存在以及如何避免其出现。别担心,本文不涉及GC内部工作机制及其它.net的资源及内存管理等高级特性中。转载 2016-11-30 09:39:09 · 650 阅读 · 0 评论 -
Lambda表达式详解
【转载】Lambda表达式详解前言 1、天真热,程序员活着不易,星期天,也要顶着火辣辣的太阳,总结这些东西。 2、夸夸lambda吧:简化了匿名委托的使用,让你让代码更加简洁,优雅。据说它是微软自c#1.0后新增的最重要的功能之一。lambda简介 lambda运算符:所有的lambda表达式都是用新的lambda转载 2016-11-14 09:57:18 · 266 阅读 · 0 评论 -
c# 托管与非托管资源回收整理目录
一直对GC这块一知半解,索性周末翻阅资料查清楚,转载了几篇文章,在这里整理出一个目录,方便之后查阅。入门C#中显式销毁对象 - c# 的几种销毁方式关于C#中垃圾回收GC杂谈 - 对,杂谈,简略叙述了GC机制,IDispose。浅谈C#托管程序中的资源释放问题 - 这篇写的挺清晰,包括了 GC 机制,几种销毁方式,几种销毁方式的调用关系。☆原创 2016-11-13 00:45:51 · 479 阅读 · 0 评论 -
LINQ体验系列文章导航
【转载】LINQ体验系列文章导航再次多谢作者分享LINQ体验系列文章导航LINQ推荐资源推荐一个大家学习和交流LINQ的地方,就是博客园的LINQ专题和LINQ交流小组。LINQ专题中整理了有关LINQ方方面面的入门、进阶、深入的文章;学习中遇到什么问题或者疑问也可以LINQ交流小组去提问,往往你会得到意想不到的收获哦。LINQ专题:http://kb.转载 2016-11-16 10:48:26 · 206 阅读 · 0 评论 -
GC原理解析(c#)
【转载】GC原理解析(c#)在.NET框架包含一个托管堆,所有的.NET语言在分配引用类型对象都要使用它,像值类型这样的轻量级别对象始终分配在栈中,但是所有的类实例和数组都被生成在一个内存池中,这个内存池就是托管堆垃圾收集器的托管的基本算法很简单:1、将所有的托管内存标记为垃圾2、寻找正在使用的内存快,并将他们标记为有效3、释放所有没有被使用的内存块转载 2016-11-12 16:36:30 · 383 阅读 · 0 评论 -
改善C#程序的建议5:引用类型赋值为null与加速垃圾回收
【转载】改善C#程序的建议5:引用类型赋值为null与加速垃圾回收在标准的Dispose模式中(见前一篇博客“C#中标准Dispose模式的实现”),提到了需要及时释放资源,却并没有进一步细说让引用等于null是否有必要。有一些人认为等于null可以帮助垃圾回收机制早点发现并标识对象是垃圾。其他人则认为这没有任何帮助。是否赋值为null的问题首先在方法的内部被人提起。现在,为了转载 2016-11-12 16:09:04 · 1190 阅读 · 0 评论 -
改善C#程序的建议4:C#中标准Dispose模式的实现
【转载】改善C#程序的建议4:C#中标准Dispose模式的实现需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类:托管资源:由CLR管理分配和释放的资源,即由CLR里new出来的对象;非托管资源:不受CLR管理的对象,windows内核对象,如文件、数据库连接、套接字、COM对象等;毫无例外地,如果我转载 2016-11-12 16:06:38 · 314 阅读 · 0 评论 -
浅谈C#托管程序中的资源释放问题
【转载】浅谈C#托管程序中的资源释放问题终于开始动手写这篇文章了,有个网友催了我好几次,今天终于可以静下心来完成它。 便于对文章的开展,需要先明确两个概念。第一个就是很多人用.Net写程序,会谈到托管这个概念。那么.Net所指的资源托管到底是什么意思,是相对于所有资源,还是只限于某一方面资源?很多人对此不是很了解,其实.Net所指的托管只是针对内存这一个方面,并不是对于所有的资转载 2016-11-12 16:02:17 · 409 阅读 · 0 评论 -
关于C#中垃圾回收GC杂谈
【转载】关于C#中垃圾回收GC杂谈在初学阶段用.Net编写程序时,一直都未曾考虑过程序垃圾资源回收率的问题,那是因为老师老在课堂讲什么不用管,不用理会,一听到不用理会,好吧,从此写程序就肆无忌惮的了!程序卡死、内存暴涨、顺便偶尔来几个内存错误,一看到这个就头大了。现在想想,课堂老师讲的那句话,却只听进了前半句。。。闲聊无事,也不用再怕什么在职防止泄露啥啥机密、啥啥技术的、、、嘎转载 2016-11-12 15:36:36 · 422 阅读 · 0 评论 -
C#中显式销毁对象
【转载】C#中显式销毁对象对于非托管代码,显示地销毁对象是非常重要的。对于占用系统资源的托管代码,及时释放资源也非常重要,我们以往编写代码的时候,不是很注意整个系统中对象的存在与管理,造成了很大的系统资源浪费。因此,.NET平台中对象的销毁知识有必要进行回顾和总结。一 销毁机制 C#提供了垃圾回收器,可以不显示的销毁对象。但是如果要控制非托管对象,用完后显示地释放对象还是必须的。转载 2016-11-12 15:27:31 · 5389 阅读 · 0 评论 -
c# -- 对象销毁和垃圾回收
【转载】c# -- 对象销毁和垃圾回收有些对象需要显示地销毁代码来释放资源,比如打开的文件资源,锁,操作系统句柄和非托管对象。在.NET中,这就是所谓的对象销毁,它通过IDisposal接口来实现。不再使用的对象所占用的内存管理,必须在某个时候回收;这个被称为无用单元收集的功能由CLR执行。对象销毁和垃圾回收的区别在于:对象销毁通常是明确的策动;而垃圾回收完全是自动地。换句话说转载 2016-11-12 15:24:43 · 1352 阅读 · 1 评论 -
C#内存释放(垃圾回收)
【转载】C#内存释放(垃圾回收)问题背景----今天写了个很小的程序,程序的功能仅仅是截图,但是如果长时间开启并截图的时候,程序会变的很大,从刚开始的运行在任务管理器中只有十几K大小,运行一段时间后在任务管理器中看到程序可以达到1G或2G甚至更大;最初想到的是所有的截图都保存在内存中,没有释放造成的。去检查代码,发现程序中已经使用GC.Collect();但是为什么程序还是会一转载 2016-11-11 20:53:09 · 666 阅读 · 2 评论 -
30分钟LINQ教程
【转载】30分钟LINQ教程千万别被这个页面的滚动条吓到!!!我相信你一定能在30分钟之内看完它!!!在说LINQ之前必须先说说几个重要的C#语言特性一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他转载 2016-11-07 09:44:40 · 278 阅读 · 0 评论 -
C#复制数组的两种方式,以及效率比较
【转载】C#复制数组的两种方式,以及效率比较如何高效地进行数组复制?如果把一个变量值复制给另外一个数组变量,那么2个变量指向托管堆上同一个引用。如果想在托管堆上创建另外的一份数组实例,通常使用Array.Copy方法。class Program{static void Main(string[] args){int[] a = {1, 3, 6};int[转载 2016-10-24 16:45:31 · 602 阅读 · 0 评论 -
C# Enum,Int,String的互相转换
【转载】C# Enum,Int,String的互相转换1、Enum-->String(1)利用Object.ToString()方法:如Colors.Green.ToString()的值是"Green"字符串;(2)利用Enum的静态方法GetName与GetNames: public static string GetName(Type enumType,Object v转载 2016-10-24 16:26:14 · 255 阅读 · 0 评论 -
C# Lambda表达式
【转载】C# Lambda表达式Lambda表达式"Lambda表达式"是一个匿名函数,是一种高效的类似于函数式编程的表达式,Lambda简化了开发中需要编写的代码量。它可以包含表达式和语句,并且可用于创建委托或表达式目录树类型,支持带有可绑定到委托或表达式树的输入参数的内联表达式。所有Lambda表达式都使用Lambda运算符=>,该运算符读作"goes to"。Lambda运算符的转载 2016-11-15 09:37:41 · 248 阅读 · 0 评论