c#扩展方法奇思妙用变态篇四:string 的翻身革命
string是各种编程语言中最基础的数据类型,长期以来受尽其它类的压迫,经常被肢解(Substring、Split)、蹂躏(Join)...
而现在string要“翻身闹革命”了,它几乎无所不能,可以为所欲为,令其它类心惊胆颤...
让我们来看一下革命后的string做了些什么?
1. 打开文件或网
http://www.cyqdata.cn/cnblogs/article-detail-38859
JavaScript 错误处理与调试总结
在Web开发过程中,编写JavaScript程序时或多或少会遇到各种各样的错误,有语法错误,逻辑错误。如果是一小段代码,可以通过仔细检查来排除错误,但如果程序稍微复杂点,调试JS便成为一个令Web开发者很头痛的问题。下面总结一下JS错误处理与调试的方法
方法1:用alert() 和document.write()方法监视变量值。
alert()在弹出对话框显示变量值的同时,会停止代码的继
http://www.cyqdata.cn/cnblogs/article-detail-38857
用 C# 简单模拟 Google Go 语言中的 Channel 和 goroutine 机制
前段时间尝试了一点 Google 的 Go 语言,感觉其很多特性还是不错的。Go 语言旨在结合传统编译型的静态语言和解释型的动态语言的优点,在其中找到一个平衡。从而打造一个既快速(编译执行),又方便编程的语言(动态语言往往语法简单快捷)。同时,Go 语言还具备丰富的特性以支持并发编程,这在现在多核非常普及的情况下,是很重要和强大的一个功能。
Go 语言的并发特性主要有 goroutine, c
http://www.cyqdata.cn/cnblogs/article-detail-38855
.NET企业级架构解决方案:业务层
引言
Martin Fowler说过:“任何人都可以写出计算机才能理解的代码,只有写出人能理解的代码的程序员才是好程序员。”
每一个复杂的软件都应该按层来组织。每一层代表系统的一个逻辑部件。尤其是,业务层的模块包括了所有使得系统运行的时候和其它层交互所需要的功能算法和计算,其他层包括数据访问层DAL和表现层。
业务层是任何分层系统的神经中心,包含了大部分的核心逻辑。
http://www.cyqdata.cn/cnblogs/article-detail-38849
HTML5应用于生产为时尚早
W3C互动领域领导者Philippe Le Hégaret在督导HTML标准时,认为HTML5在适用于生产之前,需通过跨浏览器的兼容性测试。尽管早期试用者已经利用HTML5制作出了漂亮的3D动画和视频,绝大多数开发者还是应该等到2011年中期甚至2012年初,直到标准稳定了以后再开始使用。
在InfoWorld的采访中,Le Hégaret指出HTML5尚不能应用于
http://www.cyqdata.cn/cnblogs/article-detail-38847
走进Linq-Linq to SQL How do I(3)
本系列文章导航走进Linq--Linq横空出世篇走进Linq-辉煌的背后走进Linq-Linq大观园不能不说的C#特性-对象集合初始化器不能不说的C#特性-匿名类型与隐式类型局部变量不能不说的C#特性-扩展方法不能不说的C#特性-匿名方法和Lambda表达式不能不说的C#特性-迭代器(上)及一些研究过程中的副产品不能不说的C#特性-迭代器(下),yield以及流的延迟计算走进Linq-Linq t
http://www.cyqdata.cn/cnblogs/article-detail-38845
让你的Visual Studio 2010 支持HTML5 和 CSS3
现在的热门话题之一是HTML5 和 CSS3。好的, 它们都很时髦,它们也必然会影响网络开发的未来。 让我们尝尝鲜,花点时间安装设置一下,尽快让Visual Studio2010支持HTML5 和 CSS3 吧。
首先到微软网站上下载 Visual Studio 2010 SP1。双击开始执行VS10sp1-KB983509.exe, 然后等待补丁的下载安装完成。 – 由于Vis
http://www.cyqdata.cn/cnblogs/article-detail-38841
为什么说Ruby比Python容易阅读
这是一篇充满偏见的语言战争文章,是一场无意义的锤子和锤子的比拼。语言的复杂性可以通过选择语言回避,而问题本身的复杂性是选择哪个语言都无法回避的。
不屑语言战争的人可以轻松无视此文。
1、字符串格式化
Python
"%s=%s" % (k, v)
在阅读 Python 字符串格式化的时候,视线先看到字符串的 %s 字样,但是不知道这指的是什么,然后看后面的变量 k,再接着看第二
http://www.cyqdata.cn/cnblogs/article-detail-38840
Android Widget开发详解
本文和大家重点学习一下Widget开发的概念,本例是为了实现一个手机Android平台的Widget开发,该Widget中的内容是根据输入账号从叽歪网站上获得得。当然,这个过程需要叽歪的API,得到信息后进行处理并显示出来。大体流程就是这样。好了,进入第一步。
Android Widget开发系列(二)
该叽歪账号是测试账号,用户名是“students”,密码是&l
http://www.cyqdata.cn/cnblogs/article-detail-38839
新版twitter背后的技术
如果要评2010最牛逼的网站改版,除了豆瓣就是Twitter了(开个玩笑)。那天看了新版twitter的介绍视频,相当兴奋,那种感觉就像04年看到gmail。面对未知的新时代,一部分人在畅想,一部分人在抵触,只有小部分人在行动。Twitter很快交出了他们的答卷。
今天看到Twitter官方发表的博文“The Tech Behind the New Twitter.com&rdqu
http://www.cyqdata.cn/cnblogs/article-detail-38837
jQuery-Selectors(选择器)的使用(七、子元素篇)
本系列文章导航jQuery-Selectors(选择器)的使用(一、基本篇)jQuery-Selectors(选择器)的使用(二、层次篇)jQuery-Selectors(选择器)的使用(三、简单篇)jQuery-Selectors(选择器)的使用(四--五、内容篇&可见性篇)jQuery-Selectors(选择器)的使用(六、属性篇)jQuery-Selectors(选择器)的使用(七
http://www.cyqdata.cn/cnblogs/article-detail-38836
网络硬盘开发技巧之ASP.NET+XML
文件传送常用的三种方式FTP、Email及“网上邻居”都在一定程度上实现了文件数据的交流,但它们都主要面向“点对点”的传送,无法实现“一块空间,资源互见”的应用需求,这种基于“点对多”的共享模式需要寻求另外的传输途径,网络硬盘就是一种很好的解决方式。常用传输方式及其在特定环境下面临的困难我们经常有这样的
http://www.cyqdata.cn/cnblogs/article-detail-38833
扩展方法 之 Asp.Net篇
说起扩展方法,不得不提博客园的鹤冲天,其关于扩展方法的文章基本上占了总文章的一半,其中不乏优秀之作。 我在Asp.Net开发期间也总结了不少扩展方法,与大家分享一下。
1. 获取GridView的主键值:
public static T GetKey<T>(this GridView grid, int rowIndex){ T key = (T)grid.DataK
http://www.cyqdata.cn/cnblogs/article-detail-38824
步步为营 .NET 代码重构学习笔记 十
步步为营 .NET 代码重构学习笔记系列 步步为营 .NET 代码重构学习笔记 一、为何要代码重构 步步为营 .NET 代码重构学习笔记 二、提炼方法(Extract Method) 步步为营 .NET 代码重构学习笔记 三、内联方法(Inline Method) 步步为营 .NET 代码重构学习笔记 四、临时变量(Temporary Variable) 步步为营 .NET 代码重构学习
http://www.cyqdata.cn/cnblogs/article-detail-38820
Direct2D教程(六)图形也能做运算
概述
大家都学过集合运算,给定两个集合,可以求他们的并集,交集,差集等。其实图形之间也能做运算,今天就带大家开始图形运算之旅,讲讲如何合并图形。在D2D中有四种方法合并图形,分别是并(UNION),交(INTERSECT),差(EXCLUDE)和异或(XOR)。那么图形之间是如何合并的呢?两个图形之间进行Xor的结果是什么呢?为了便于理解,我先把效果图贴上来。下面图片中第一副图示两个圆的原始图,第
http://www.cyqdata.cn/cnblogs/article-detail-38818
iphone开发我的新浪微博客户端-用户登录OAuth授权认证篇(1.3)
在上一篇中,我们已经完成了UIDialogWindow自定义弹出窗口组件,本篇接下来完成用户的OAuth授权认证功能,完成后效果如上图。
一、新建名为LoginViewController的UIViewController subclass类型的类文件,新进的时候记得勾上With XIB user interfac
http://www.cyqdata.cn/cnblogs/article-detail-38817
一个网站的诞生- MagicDict开发总结6 [划词 检索]
划词检索,一个好的字典网站所必须的功能。这个功能包括2部分内容,第一个部分是,在鼠标弹起的时候(MouseUp)知道鼠标的具体位置,显示一个【查询】的图标,第二个部分是,知道用户选中的词语。所有的操作都是纯JS的代码,第一次写JS,不好的地方,请高手指点鞭策。首先,在JS里面写一句鼠标MouseUp时候,触发事件的声明 //划词检索document.onmouseup = sh
http://www.cyqdata.cn/cnblogs/article-detail-38816
《模式——工程化实现及扩展》(设计模式C# 版)《连贯接口 Fluent Interface》——“自我检验"参考答案
转自:《模式——工程化实现及扩展》(设计模式C# 版) http://www.cnblogs.com/callwangxiang/ http://www.cnblogs.com/callwangxiang/archive/2011/05/31/ExerciseAAFluentInterface.html的参考答案 &nb
http://www.cyqdata.cn/cnblogs/article-detail-38812
基于.NET的分词软件设计与实现V1.0--总体思路及算法实现
首先介绍一下这个分词软件的总体思路。
查阅了网上的一些相关资料,普遍采用的都是“正向最大匹配算法”和“逆向最大匹配算法”,不了解的朋友先来这里看下两个算法的基本思想:
正向最大匹配算法基本思想是:首先在词库里查找文本是否存在,如果存在,直接提取出来,而如果不存在,则删除文本的最后一个字,检查是否是单字,若是输出此字并将短语减去此字,若不是则继
http://www.cyqdata.cn/cnblogs/article-detail-38810
Introduction of new feature ‘Tag Cloud’ with SAP CRM 7.0 Ehp 1
SAP CRM 7.0 Ehp 1 introduces a quite fancy new feature called ‘Tag Cloud’. With Tag Cloud, we can easily put all kinds of Tags on most of the transaction objects across Sales, Service and Marketing ar
http://www.cyqdata.cn/cnblogs/article-detail-38809