随笔分类 -  C#

摘要:今天,查资料的时候无意中发现早在v3.5,.NET Fx就提供了Enumerable.Range这个方法,用来生成指定范围的,连续的整数集合。为什么提起这个记得之前,是看Ruby和CoffeeScript中,在语法层面做了类似的事:[1..5], 然后某天写一段C#代码的时候,忽然也想要这个便利。需求是这样的: from i in new IntRange(1, personCount) select new CustomerModel();于是便中断工作,停下来写了这个,顺便还写了个DateRange和一些单元测试。 阅读全文
posted @ 2013-02-08 11:08 sinlight23 阅读(783) 评论(2) 推荐(0)
摘要:需要在公用组件里提供一个方法, 直觉的使用了为某个类型扩展方法的方式.编码结束后, 回想为什么没有采用静态方法的方式. 开始觉得前者通过VS的智能提示, 更容易向程序员即时传达"你可以试试这个"的信息.但隔天再想, 在这一点上两种方式并无明显区别, 而要结合上类型的使用频率和场景. 比如对List<T>做扩展, 扩展方法的方式较好;但对IDataParameter[]做扩展, 因为使用场景较局限, 程序员较少用到对象的成员, 所以友好的类名+静态方法的方式可能更佳.当然, 是否引入扩展方法, 往往首要考虑的不是有效告知程序员的因素.但在编码时多考虑人的因素, 是 阅读全文
posted @ 2012-03-11 01:27 sinlight23 阅读(168) 评论(0) 推荐(0)
摘要:有一种算法叫"蒙(发平声)" ! 花了一整天才写出来, 没有算法思想, 无数次的尝试才得出来; 即便有了结果, 但也还是没什么收获, 这就是这种算法的特点:( 略为沮丧 阅读全文
posted @ 2009-06-30 22:42 sinlight23 阅读(562) 评论(1) 推荐(0)
摘要:Ruby中,所谓带块(block)的方法是指对控制结构的抽象,最初设计是用于对循环进行抽象,所以又称迭代器。语法:method_name do...end 或 method_name {}1#块调用2deffoo3printyield(5)4end56foo{|a|7ifa>08"positive"... 阅读全文
posted @ 2006-05-23 15:37 sinlight23 阅读(339) 评论(0) 推荐(1)
摘要:在.NET中,字符串相等的含义:字符串对象的值相同; 值相同且引用相同:a = "123"; b = "123"; a、b引用相同(a,b都在CLR的内置池中) 值相同而引用不同:a = "123"; b = "12"; b += "3"; a、b引用不同(b已经不在内置池中了) 值相同而引用不同:a = "123"; b = "12"; b += "3"; c = b; a、c不同 使引用相同:... 阅读全文
posted @ 2005-12-27 11:11 sinlight23 阅读(769) 评论(0) 推荐(0)
摘要:看源代码刚学到的,当属性的set块中还有其它调用或较复杂的操作时,不要重复设置对象的属性。道理很简单啊,还是贴段代码吧,代码演示的是怎样做是否重复的判断而不是重现上面描述的情景.Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--classEntryPoi... 阅读全文
posted @ 2005-09-11 00:38 sinlight23 阅读(992) 评论(5) 推荐(0)