随笔分类 -  02.FrameWork/C#

摘要:注:dt是一个DateTime类型的变量这估计是我博客中最短的一篇了,注意写法:要写成"yyyy\\/MM\\/dd HH:mm:ss",而不是"yyyy/MM/dd HH:mm:ss" 阅读全文
posted @ 2010-10-22 14:58 菩提树下的杨过 阅读(3209) 评论(8) 推荐(1) 编辑
摘要:年纪大了记性差了,转过来方便以后要的时候粘贴复制出自:http://gsqls.blog.163.com/blog/static/459712182009112873327312/C#获取当前路径的方法如下:1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName -获取模块的完整路径。2. System.Envir... 阅读全文
posted @ 2010-10-18 10:29 菩提树下的杨过 阅读(1258) 评论(1) 推荐(2) 编辑
摘要:上一篇学习了"顺序表(SeqList)",这一篇来看下“单链表(LinkList)”。在上一篇的最后,我们指出了:顺序表要求开辟一组连续的内存空间,而且插入/删除元素时,为了保证元素的顺序性,必须对后面的元素进行移动。如果你的应用中需要频繁对元素进行插入/删除,那么开销会很大。而链表结构正好相反,先来看下结构:每个元素至少具有二个属性:data和next。data用来存放数... 阅读全文
posted @ 2010-10-17 14:13 菩提树下的杨过 阅读(5238) 评论(3) 推荐(0) 编辑
摘要:线性结构(Linear Stucture)是数据结构(Data Structure)中最基本的结构,其特征用图形表示如下:即:每个元素前面有且只有一个元素(称为“前驱”),同样后面有且只有一个元素(称为"后继")--注:起始元素的前驱认为是空,末尾元素的后继认为也是空,这样在概念上就不冲突了。线性表(List)是线性结构的一种典型实现,它又可以分为:顺序表(SeqList)... 阅读全文
posted @ 2010-10-17 09:30 菩提树下的杨过 阅读(3785) 评论(2) 推荐(0) 编辑
摘要:这二者的区别,仅在一个类同时实现多个接口,且多个接口中有相同的方法名字定义时,才有比较的意义。输出结果已经说明了问题,就不多做解释了。 结论: 1、对于显式实现的接口方法,在类实例上调用时,需要显式转换为指定的接口,然后才能正确调用。 2、如果类实例不显式转换接口,直接用"类实例.接口同名方法"调用,将调用隐式实现的方法. 3、显式实现的接口方法,不能加public之类的关键字修饰。 4、通常显式... 阅读全文
posted @ 2010-09-19 22:00 菩提树下的杨过 阅读(1012) 评论(2) 推荐(1) 编辑
摘要:昨天看到 “性能相差7千倍的ToString方法”这篇文章,对于作者这种良好的性能意识和探索精神很佩服,以前还真没注意到这点。不过,用switch的做法,个人觉得虽然性能上去了,但是可维护性就下来了,以后该枚举要增加或删除一项,这段switch代码都要改一下,其实该问题的关键就是反射带来的性能损耗,在调用枚举的ToString()方法时,无非就是要得到一个字符串而已,我个人... 阅读全文
posted @ 2010-09-19 10:00 菩提树下的杨过 阅读(7033) 评论(21) 推荐(5) 编辑
摘要:注:这篇文章主要给新手看的,老手们可能会觉得没啥营养,就请绕过吧。“认证”与“授权”是几乎所有系统中都会涉及的概念,通俗点讲: 认证(authentication) 就是 "判断用户有没有登录?",好比windows系统,没登录就无法使用(不管你是用Administrator或Guest用户,总之要先正确登录后,才能进入系统). 授权(authori... 阅读全文
posted @ 2010-08-29 22:15 菩提树下的杨过 阅读(17215) 评论(20) 推荐(13) 编辑
摘要:这篇东西应该至少一年前就写的,不过因为个人太懒,一直没记下来,今天补上.linq to sql中,对于同一个DataContext上下文环境,根据表主键选择记录时(当然这里所指的“记录”会自动转成“对象”),如果该记录已经被select过,默认情况下会被自动缓存下来,下次再选择时,将自动返回已缓存的对象,而不是重新从数据库里查询。在很多情况下(特别是... 阅读全文
posted @ 2010-08-24 15:34 菩提树下的杨过 阅读(3901) 评论(4) 推荐(0) 编辑
摘要:以前为了赶项目遇到这种需求时,也没过多考虑性能因素,随便写了一个(现在看起来很原始的)方法来实现:但是大家都知道,异常捕获是要有性能损耗的。今天想了想:其实还有其它方法,也许会更好此外,根据Guid的格式规则:总长数36位,由4个'-'分隔,每一段都是由数字+英文字母组合而成。也可以自己写一个算法:另:经猎风同学提醒,应该还要考虑到正则表达式不编译的情况,所以再加上这一段此外:尘尘同学在回复中提醒... 阅读全文
posted @ 2010-06-30 21:17 菩提树下的杨过 阅读(11404) 评论(8) 推荐(1) 编辑
摘要:今天做项目时遇到一个小需求:要将字符串中的回车符号替换成其它符号(比如"<br/>")。 考虑到不同的情况下,有些系统中是用\r\n作回车符,有些仅用\n就代表回车符了。以前都是用String类的Replace方法连接替换多次来处理的,今天突然想改为正则表达式一次性搞定,但又怕性能上消耗太大,于是写了下面的测试代码:输出结果:11111 * 22222 * 33333 * 44444 ... 阅读全文
posted @ 2010-06-24 17:52 菩提树下的杨过 阅读(5189) 评论(7) 推荐(1) 编辑
摘要:类似C#中自定义事件需要一个自定义的EventArgs子类一样,AS3也需要开发者自定义一个Event类的子类,这里我们假设一种场景:设计一个Person(人物)类,里面有Age(年龄),Name(姓名),我们希望每当Person类的实例Age(年纪)发生变化时,能触发一些自定义事件,从而调用某些特定的处理方法。 1.先设计Event类的子类AgeChangeEvent这里我们定义了二类事件:年龄... 阅读全文
posted @ 2010-04-14 21:14 菩提树下的杨过 阅读(2516) 评论(0) 推荐(0) 编辑
摘要:特性(Attribute)是微软在.Net中自创的一种新技术,对于很多初学者来讲,特性一直是一块难啃的骨头。既然弄不懂,那我们就暂时绕过它吧,回想一下我们在写代码时通常都要求写注释,为了是让别人或自己以后能看得懂,但是这个注释是写给“人”看的,突发奇想一下:我们能不能写出一种注释,给c#编译器看,比如我们在某些代码上打个标记,让编译器看到这些标记后,做出不同的反应?其实..... 阅读全文
posted @ 2010-03-30 15:18 菩提树下的杨过 阅读(953) 评论(1) 推荐(1) 编辑
摘要:先直接看代码吧:这段代码很简单:B继承A,然后定义了一个A中的同名方法Method1,编译能通过,但是会提示警告:'ConsoleApplication1.B.Method1()' hides inherited member 'ConsoleApplication1.A.Method1()'. To make the current member override that implementa... 阅读全文
posted @ 2010-03-30 11:31 菩提树下的杨过 阅读(2082) 评论(0) 推荐(2) 编辑
摘要:习惯于用某一种语言做开发,时间长了以后很多人可能会对其它语言有排斥或抵触,其实... 退一步海阔天空!比如:经常看到有人问"如何用c# ping 网址?",园子里搜索了一下:[c#下实现ping操作]这篇算是总结得比较全面了,但其实...如果愿意暂时从C#的世界中退出来环顾一下周围,方法更简单:先添加对Microsoft.VisualBasic的引用,然后参考下面的代码:再比如:如何用c#做汉字的... 阅读全文
posted @ 2010-03-25 17:35 菩提树下的杨过 阅读(1162) 评论(7) 推荐(1) 编辑
摘要:Vs2010正式版据说4月12号就要发行,是时候摆弄一下它了新建web application后,最直观的一个变化就在于web.config变干净了:只有寥寥数行代码,赏心悦目!另外注意到web.config在解决方案视图中,分成了二个:个人觉得这是吸收了ROR中database.yml中数据库(开发,生产,测试)环境配置的思想,我们在做web开发时,难免会对调试/发布二种环境的配置做一些调整,比... 阅读全文
posted @ 2010-03-05 12:49 菩提树下的杨过 阅读(3272) 评论(0) 推荐(0) 编辑
摘要:类索引器Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1usingSystem;2usingSystem.Collections.Generic;34namespacePrototype5{6classProgram7{8staticvoidMain... 阅读全文
posted @ 2010-01-27 10:33 菩提树下的杨过 阅读(399) 评论(0) 推荐(1) 编辑
摘要:安装visual studio之后,一旦某些进程出现问题,总是出现“visualstudio实时调试器”对话框,有时候感觉很烦人,下面是解决办法:删除注册表项:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug\DebuggerHKEY_LOCAL_MACHINE\SOFTWARE\M... 阅读全文
posted @ 2010-01-18 14:25 菩提树下的杨过 阅读(1084) 评论(0) 推荐(0) 编辑
摘要:查找/列出进程很容易,但干掉进程得借助系统命令ntsd.exe,详细用法见下面的代码 :[代码]另外ntsd.exe在windows vista以上的版本(包括windows 2008)上,出于安全考虑已经被MS给去掉了,但我们可以直接从xp下复制过来继续使用,这里为方便大家给出ntsd.exe的下载http://files.cnblogs.com/yjmyzz/ntsd.rar 阅读全文
posted @ 2010-01-18 10:12 菩提树下的杨过 阅读(7476) 评论(3) 推荐(1) 编辑
摘要:今天一位朋友问如何去掉DataTable里重复的记录(DataTable是别人返回过来的,不能再重新查询数据库,所以无法用sql中的select distinct xxx处理,只能在DataTable上动脑筋)思路:将DataTable转成IEnumerable,然后就能调用Distinct方法了by 菩提树下的杨过 http://yjmyzz.cnblogs.com/Code highlight... 阅读全文
posted @ 2009-12-30 16:08 菩提树下的杨过 阅读(2278) 评论(2) 推荐(0) 编辑
摘要:以前一直用 var query = xxx.Select(c=>new {c.X,c.Y}); 来取表中的某二列字段,今天有个应用需要转成Dictionary<T,U>,很少这样使用,居然忘记了写法!回忆了半天终于写对了,贴在这里备个份,方便以后查找:[代码]//如果觉得上面的写法太复杂,还可以简化为//Dictionary<Guid, int> dic = lst.... 阅读全文
posted @ 2009-12-04 20:16 菩提树下的杨过 阅读(8494) 评论(2) 推荐(0) 编辑