15
推荐
9 评论
6065 阅读

为什么我不喜欢Go语言式的接口(即Structural Typing)

所谓Go语言式的接口,就是不用显示声明类型T实现了接口I,只要类型T的公开方法完全满足接口I的要求,就可以把类型T的对象用在需要接口I的地方。这种做法的学名叫做Structural Typing,有人也把它看作是一种静态的Duck Typing。除了Go的接口以外… …
14
推荐
5 评论
4240 阅读

函数式编程中的常用技巧

在Clojure、Haskell、Python、Ruby这些语言越来越流行的今天,我们撇开其在数学纯度性上的不同,单从它们都拥有一类函数特性来讲,讨论函数式编程也显得很有意义。 一类函数为函数式编程打下了基础,虽然这并不能表示可以完整发挥函数式编程的优势,但是如果能掌握一些基… …
12
推荐
4 评论
2407 阅读

求解双重河内塔

双重河内塔 《具体数学:计算机科学基础(第2版)》第 1 章作业题 11: 双重河内塔包含 2n 个圆盘,它们有 n 种不同的尺寸,每一种尺寸的圆盘有两个。如通常那样,要求每次只能移动一个圆盘,且不能把较大的圆盘放在较小的圆盘上面。 a 如果相同尺寸的圆盘是相互不可区分… …
12
推荐
4 评论
3113 阅读

迭代器,迭代器块和数据管道

本文是《深入理解C#(第2版)》网站上作者的文章 原文地址:http://www.csharpindepth.com/Articles/Chapter11/StreamingAndIterators.aspx 简介 LINQ to Objects是基于迭代器的。后者一… …
10
推荐
3 评论
5295 阅读

详解学习C#的方法和步骤

如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET。 强烈反对在没系统学过一门面向对象语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,不懂面向对象,那绝对学不下去! 第二步 对.NET… …
10
推荐
4 评论
1853 阅读

编程也快乐第三期解答(一)

2gua 今天上午在第三波 - 编程赢取《精益创业实战》中发布以下编码任务: 假设有一个池塘,里面有无穷多的水。现有2个空水壶,容积分别为5升和6升。如何只用这2个水壶从池塘里取得3升的水**(最后,这三升… …
9
推荐
4 评论
3832 阅读

浅谈C#中的数据类型转换与对象复制

软件开发中,数据类型的转换是一项非常重要的工作,同时也是非常容易产生错误的地方;本文,我们就C#开发中的各种数据类型转换做一些讨论,供大家参考。这些内容包括: C#语言内置转换 as与is运算符 TryParse()方法 Convert类 封装转换方法 对象的传递、复制和序… …
9
推荐
0 评论
1003 阅读

最近解决了一个比较复杂的“死锁”问题

好久没有在这里写文章了,今天心血来潮把刚写的微信消息帖上来。 前段时间公司里的程序在极少的情况下会出现“死锁”问题。其实也不能算是“前段时间”,因为这个问题时不时会出现一次,持续了一年多了吧,但由于出现次数很少,所以也一直没有动力去挖出原因来。最近由于系统变得越来越复杂,使用… …
9
推荐
0 评论
7634 阅读

Jon Skeet:我不想知道我在SO上到底花了多少时间(图灵访谈)

Jon Skeet,谷歌软件工程师,微软资深C# MVP,拥有10余年C#项目开发经验。自2002年来,他一直是C#社区、新闻组、国际会议的活跃技术专家和Stack Overflow总排名第一的用户,回答了数以万计的C#和.NET相关问题,他还建立了Joda Time的.NET… …
9
推荐
8 评论
12552 阅读

向Stack Overflow上排名第一的大神Jon Skeet提问!

Jon Skeet 谷歌软件工程师,微软资深C# MVP,拥有10余年C#项目开发经验。自2002年来,他一直是C#社区、新闻组、国际会议的活跃技术专家和Stack Overflow总排名第一的用户,回答了数以万计的C#和.NET相关问题。Jon Skeet著有《深入理解C#》… …