代码改变世界

随笔档案-2012年06月

接口的显示实现和隐式实现

2012-06-30 23:02 by JustRun, 1209 阅读, 收藏, 编辑
摘要: 接口的实现,上学的时候就接触的概念了,现在毕业工作了,没想到自己有对接口的实现有了新的发现。基础的知识,总是在工作中不断的更新和理解的更加深刻。对于编程语言和平台中的高层建筑,总是会出现不断地变化,但是底层的基础却是一成不变的(变化很小). 所以我认为程序员应该把精力向这些基础的能力倾斜,修炼自己的内力,这样就能够在程序员这个岗位上做到做上一辈子,避开新生力量的竞争和体现自己的价值。以上是无关主题的废话, 下面是正文:一、显示实现和隐式实现。隐式实现:这是基本所有人都知道的实现方式目前常用的方式:public interface IReview{ void GetReviews();}p... 阅读全文

数据库集群原理

2012-06-30 22:45 by JustRun, 1509 阅读, 收藏, 编辑
摘要: 转自http://wangshuxing123-126-com.iteye.com/blog/737484对于应用服务器集群,应该是非常常见的。通过集群,可以很简单地通过乘法的方式将服务能力扩大(而且这种扩充的成本要远低于垂直扩充,你只要比较一下一个满配4CPU的PC服务器与2台满配2CPU的服务器的价格就知道了),并且,可以提供系统的高可用性,当一台服务器出现问题时,可以由其他服务器提供服务,避免了服务的中断。而对于数据库服务器,集群就比较少见了,以往只用于高端系统,比如象ORACLE就提供了并行模块。而ICX的出现,则为SQL SERVER数据库的集群提供了良好的解决方案。(参见:ICX- 阅读全文

枚举类型转换成字符串

2012-06-22 23:27 by JustRun, 5322 阅读, 收藏, 编辑
摘要: 使用枚举类型默认的ToString()方法,往往不能得到我们想要的输出的字符串。如何方便的定义枚举类型中的每个值代表的字符串输出呢?可以使用DescriptionAttribute, 写上想得到的字符串输出。enum Direction{ [Description("Rover is facing to UP (Negtive Y)")] UP = 1, [Description("Rover is facing to DOWN (Positive Y)")] DOWN = 2, [Description("Rover is facing to 阅读全文

如何定义泛型是枚举类型

2012-06-22 22:59 by JustRun, 1957 阅读, 收藏, 编辑
摘要: 使用泛型,可以约束这个泛型继承自那个类或者借口。但是如果我们的泛型需要的是一个枚举类型的时候,应当如何定义呢?没有直接的实现方式,只能是用下面最接近的方式实现:where T : struct, IComparable, IConvertible, IFormattable 阅读全文

Math.Round和四舍五入

2012-06-14 21:33 by JustRun, 818 阅读, 收藏, 编辑
摘要: Math.Round方法并不是像想象中的四舍五入, 可以从下面的输出结果看出来:Math.Round(3.44, 1); //Returns 3.4.Math.Round(3.45, 1); //Returns 3.4.Math.Round(3.46, 1); //Returns 3.5.Math.Round默认实际的方式是“四舍六入法”。世界上的许多国家已广泛采用“四舍六入法”。我国国家科委于1955年就作了推荐。“四舍 六入法”可以概括为:“四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇要进一。想要达到我们平时使用的四舍五入,需要这样:Math.Round(3.4 阅读全文

Linux系统中如何关闭触摸鼠标

2012-06-08 08:13 by JustRun, 1439 阅读, 收藏, 编辑
摘要: 以前用Thinkpad R60的时候,没有触摸鼠标,只能用小红帽,特别羡慕别人的触摸鼠标。现在换了一台新的,有了触摸鼠标才发现这个东西太坑爹了,在你写东西的时候,一不小心,鼠标就不知道飘到哪里去了。由于在Linux下使用的比较多,特地查了一下在Linux下如何关闭触摸鼠标在命令窗口中: #synclient touchpadoff=1 关闭触摸鼠标 #synclient touchpadoff=0 打开触摸鼠标R60的夜灯也不错,很适合我们这种晚上黑灯瞎火的时候喜欢写写代码的程序员。为什么联想不保留这个功能呢,很怀念我的第一台笔记本 阅读全文

关于DateTime和String转换的容易犯得错误

2012-06-08 07:59 by JustRun, 1227 阅读, 收藏, 编辑
摘要: 字符串转换成DateTime在开发中,常常会有DataTime类型和String类型的互相转换的要求,比较常用的写法是var date = Convert.ToDateTime("2012/06/08 09:10:10");咋一看这个代码好像没有什么问题, 实际运行也没发现问题。但是客户的机器上却是有转换的异常。后来经过调查发现,客户电脑上系统设置的CultureInfo是西班牙。这样代码会认为2012/06/08 09:10:10 不是一个合法的日期字符串。正确的写法应当是:var dtFormat = new DateTimeFormatInfo {LongDatePa 阅读全文

集合类接口IEnumerable,IEnumerator,ICollection,IList,IDictionary理解

2012-06-03 20:49 by JustRun, 818 阅读, 收藏, 编辑
摘要: IEnumerator该接口定义需要实现以下方法:Current:获取集合中的当前元素。MoveNext:将枚举数推进到集合的下一个元素。Reset: 将枚举数设置为其初始位置,该位置位于集合中第一个元素之前。实现以上方法的类也就意味着这个集合类能够被遍历访问。IEnumerableable意味着这个类能够达到上面IEnumerator的效果, 事实上也是如此,可以从这个接口定义方法中看出来:GetEnumerator: 返回一个IEnumerator类型的值IEnumerable是集合类的基础, 它解决了集合类如何遍历的问题, 所以更高级的集合类和接口都是继承IEnumerable所有能够使 阅读全文
点击右上角即可分享
微信分享提示