代码改变世界

艾伟_转载:C#中的委托和事件-抛砖引玉

2011-08-29 00:21 by 狼人:-), 243 阅读, 0 推荐, 收藏,
摘要:最近在学习委托和事件,在书店里面看了好多书,但是都是迷迷的…… 今天在博客园里面看到了 张子阳 所写的博客C#中的委托和事件:http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx 看后对委托和事件有了一个新的认识,可以是没有用到实际项目中去吧,感觉还是有点不知…… 下面我起一个抛砖引玉作用让这两天在书中看到的,及看张子阳博客和写的一个和他类似的程序…… 当第一次听到委托、事件时感觉比较抽象、很好奇,当看到老师在课堂上利用委托和事件实现两个窗体调用时、感觉委托太神奇了,呵、... 阅读全文

艾伟_转载:如何开发绚丽、高效率的界面(Windows嵌入式系统)

2011-08-29 00:21 by 狼人:-), 196 阅读, 0 推荐, 收藏,
摘要:上篇文章中提到用户体验(UE),并且说到国内有专门去做UE的团队也很少。据我了解Microsoft、Nokia、Google等,还有国内的Baidu是有比较专业的UE团队。对于我们这样的普通团队、普通开发者来说,这样的经验实在太少了。而且普遍更认为UE是UI Designer的事情,与我们这样的Developer没有太多关系。 当然不是,UE远超过UI。很多因素造成了UE差,比如一份不正确的数据表明17%的用户认为手机运行速度慢,Windows Mobile手机开机漫长的等待就十分的让我受不了。我们开发的应用是否有过优化?运行效率是否已经很让用户满意了?等等这些问题留在开发中思考吧。 在使用优 阅读全文

艾伟_转载:使用Lambda表达式编写递归函数

2011-08-29 00:21 by 狼人:-), 193 阅读, 0 推荐, 收藏,
摘要:前言 著名的牛顿同学曾经说过:如果说我比别人看得更远些,那是因为我站在了巨人的肩上. 原文:If I have been able to see further, it was only because I stood on the shoulders of giants. What's Lambda表达式? 请参考msdn:Lambda 表达式(C# 编程指南) Lambda表达式编写递归函数? How? 建议没有看过老赵的《使用Lambda表达式编写递归函数》这篇文章的朋友,请先前往围观,你会受益匪浅。 原文实现如下的递归效果: var fac = Fix<int, int& 阅读全文

艾伟_转载:扩展方法 之 基本数据篇

2011-08-29 00:21 by 狼人:-), 136 阅读, 0 推荐, 收藏,
摘要:前一篇我列举了几个最常用到的基于Asp.Net的扩展方法,而这一篇基于基本数据的扩展方法理应不会逊一筹,因为它不局限于Asp.Net。何谓基本数据,这里直接摆定义: C# 中有两种基本数据类型:值类型和引用类型。 值类型包括:简单类型、结构类型、枚举类型;引用类型包括:Object 类型、类类型、接口、代表元、字符串类型、数组。 说白了这篇就是扩展 int, string, double, DateTime...等基本类型。这么多数据类型,如果int来个扩展,double也来个扩展,肯定会是一个造金字塔工程。幸好有泛型帮我们,但是有时泛型也不是万能的,这个以后有机会再说。 ... 阅读全文

艾伟_转载:扩展方法 之 Asp.Net篇

2011-08-29 00:21 by 狼人:-), 182 阅读, 0 推荐, 收藏,
摘要:说起扩展方法,不得不提博客园的鹤冲天,其关于扩展方法的文章基本上占了总文章的一半,其中不乏优秀之作。 我在Asp.Net开发期间也总结了不少扩展方法,与大家分享一下。 1. 获取GridView的主键值: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public static T GetKey<T>(this GridView grid, int rowIndex){ T key = (T)grid.DataKeys[ro.. 阅读全文

艾伟_转载:揭示同步块索引(上):从lock开始

2011-08-29 00:21 by 狼人:-), 159 阅读, 0 推荐, 收藏,
摘要:大家都知道引用类型对象除实例字段的开销外,还有两个字段的开销:类型指针和同步块索引(SyncBlockIndex)。同步块索引这个东西比起它的兄弟类型指针更少受人关注,显得有点冷落,其实此兄功力非凡,在CLR里可谓叱咤风云,很多功能都要借助它来实现。 接下来我会用三篇来介绍同步块索引在.NET中的所作所为。 既然本章副标题是从lock开始,那我就举几个lock的示例: 代码1 1: public class Singleton 2: { 3: private static object lockHelper = new object(); ... 阅读全文

艾伟_转载:学习 ASP.NET MVC (第二回)实战篇

2011-08-29 00:21 by 狼人:-), 229 阅读, 0 推荐, 收藏,
摘要:本系列文章导航学习 ASP.NET MVC (第一回)理论篇学习 ASP.NET MVC (第二回)实战篇学习 ASP.NET MVC (第三回)实战篇学习 ASP.NET MVC (第四回)实战篇学习 ASP.NET MVC (第五回)理论篇 上篇简单的了解了ASP.NET MVC的基本概念和基本流程,接下来的几篇将通过简单的实例,来看看如何通过ASP.NET MVC创建应用程序。Demo很简单也很基础,高手绕过。 闲话少说,直接进入正题。首先我们要做的就是安装ASP.NET 1.0。大家可以到CodePlex上下载。 然后我们用VS2008创建新的ASP.NET MVC项目:点击... 阅读全文

艾伟_转载:学习 ASP.NET MVC (第一回)理论篇

2011-08-29 00:21 by 狼人:-), 163 阅读, 0 推荐, 收藏,
摘要:本系列文章导航学习 ASP.NET MVC (第一回)理论篇学习 ASP.NET MVC (第二回)实战篇学习 ASP.NET MVC (第三回)实战篇学习 ASP.NET MVC (第四回)实战篇学习 ASP.NET MVC (第五回)理论篇 MVC三种角色:--Model:用于存储数据的组件--View:根据Model数据进行内容展示的组件--Controller:接受并处理用户指令(操作Model),选择一个View并输出内容。Controller对View进行引用,但是View不知道Controller的存在。Controller和View都是单向引用ModelMVC变种:O... 阅读全文

艾伟_转载:ASP.NET中写自定义的Config Provider

2011-08-29 00:21 by 狼人:-), 194 阅读, 0 推荐, 收藏,
摘要:一.写作前题 我们用ASP.NET做项目开发的时候,配置Config文件那是经常的事情,VS.NET的Config文件提供了很多节,但是往往提供的这些配置信息还不能够完全满足我们的项目开发需求,而且微软正是考虑到这方面的因素,他允许用户自定义Configuration的相关配置内容。本文就此写了一些实例,希望对大家有所帮助。 二.本文内容1.实现web.config中的自定义2.对自定义节的使用3.本文总结三.实现Web.Config中自定义节废话不多说,直接说主题,这里我们要继承ConfigurationElement,ConfigurationElementCollection,Co... 阅读全文

艾伟_转载:温习:ASP.NET页面生命周期

2011-08-29 00:21 by 狼人:-), 138 阅读, 0 推荐, 收藏,
摘要:ASP.NET 页面生命周期虽然是最基础的东东,但我发现很多人不能准确地的说出,可能多数程序人员只是对深层技术感兴趣的原因吧?可是如果忘记了最基础的东西,有时会给你的开发制造很大的麻烦。现在把MSDN上的ASP.NET页面生命周期贴出来,大家温习一下吧(温习之前请问一下自己你知道吗): ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤。这些步骤包括初始化、实例化控件、还原和维护状态、运行事件处理程序代码以及进行呈现。了解页生命周期非常重要,因为这样做您就能在生命周期的合适阶段编写代码,以达到预期效果。此外,如果您要开发自定义控件,就必须熟悉页生命周期,以便正确 阅读全文

艾伟_转载:扩展方法 之 Redirect 篇

2011-08-29 00:21 by 狼人:-), 198 阅读, 0 推荐, 收藏,
摘要:前言: 单看标题,可能很多朋友不知道我到底想写什么。在写这篇文章前,我自己跟自己斗争了很久,到底该不该写这篇文章?毕竟从现实主义来看,这篇文章可能落入“瞎扯淡”的行列,因为对大多数朋友来说,以下的所有扩展方法可能都不会用到。 如果真是这样,就当作一个“漫无边际”的想法来看好了。如果你根本不想浪费你的宝贵时间,就点这里 Redirect 回博客园主页,呵呵 一个 Redirect 为什么也可以耗费一篇文章的笔墨? 就 Redirect 一词成文的先例估计不会是我,但如果 扩展方法 + Redirect 这个话题,我可能就是第一人了。 葫芦里卖的是什么药? 这个“漫无边际”的想法实... 阅读全文

艾伟_转载:把Array说透

2011-08-29 00:21 by 狼人:-), 146 阅读, 0 推荐, 收藏,
摘要:1. 数组大局观 数组是一个引用类型,也就是意味着数组的内存分配在托管堆上,并且我们在栈上维护的是他的指针而并非真正的数组。接下来我们分析下数组的元素,其中的元素无外乎是引用类型和值类型。当数组中的元素是值类型时,不同于int i;这样的代码。数组会根据数组的大小自动把元素的值初始化为他的默认值。例如: static void Main(string[] args) { int[] intArray = new int[3]; foreach(int i in intArray) { Console.WriteLine(i); ... 阅读全文

艾伟_转载:打造优雅的Linq To SQL动态查询

2011-08-29 00:21 by 狼人:-), 207 阅读, 0 推荐, 收藏,
摘要:首先我们来看看日常比较典型的一种查询Form 这个场景很简单:就是根据客户名、订单日期、负责人来作筛选条件,然后找出符合要求的订单。 在那遥远的时代,可能避免不了要写这样的简单接口: public interface IOrderService{ IList<Order> Search(string customer, DateTime dateFrom, DateTime dateTo, int employeeID);} 具体爱怎么实现就怎么实现啦,存储过程,ORM框架。这里假定是用了孩童时代就开始有的存储过程吧: Code highlightin... 阅读全文

艾伟_转载:我对NHibernate的感受(2):何必到处都virtual

2011-08-29 00:21 by 狼人:-), 121 阅读, 0 推荐, 收藏,
摘要:上一篇文章主要是在夸NHibernate实现的好,而这篇就完全是来抱怨的了。NHiberante有个毛病,就是如果是和数据库产生映射的类,就要求所有的public成员和protected成员必须是virtual的。请注意这里的要求有两个细节: 即使是方法,也必须标记为virtual 即时是不和数据库有映射关系的属性,也必须标记为virtual 这就让我觉得无厘头了,为什么没有任何关系的东西也要受到限制?我知道NHiberante要求将属性标记为virtual是为了延迟加载,因为只有这样它才能生成如上一篇文章中那样的延迟代理类,这样就可以实现只在第一次访问属性的时候才进行“加载”... 阅读全文

艾伟_转载:话说并发

2011-08-29 00:21 by 狼人:-), 120 阅读, 0 推荐, 收藏,
摘要:对于很多人来说,并发是一个离不开的话题。那么我们平常对并发的理解可能局限于某个方面。去很好的理解并发,对于软件开发很有帮助。怎样去更好的理解并发? 苹果下落,在我们认识牛顿定律之前。如果问苹果是下落的,我们都会说大家都知道,很清楚,很明白——了解但没引起关注。如果问为什么苹果下落。我们会举出很多相关的概念来说明苹果为什么下落——相似性,但却没有一个很清晰的概念。在万有引力之后,我们的认识已经有一定的高度,甚至对以后很多科技都很有帮助。 所以怎样去理解并发,我们不缺乏经验。那么我们缺乏的就是那么一个高度,可以理解为深度的认识。 可能有人会讲并发作为一种缺陷,一个问题。此时,我将他... 阅读全文
上一页 1 ··· 271 272 273 274 275 276 277 278 279 ··· 312 下一页