读书人

BillGates写的两行神奇的代码就两行

发布时间: 2013-08-04 18:26:15 作者: rapoo

比尔盖茨写的两行神奇的代码,就两行,据说难倒了一批程序猿~
比尔盖茨在自传中提到了一个问题:

当初他用C#做抓取网页关键字的程序的时候写过下面的两行代码:

遵循request—>response—>stream的流程
先发送某个网址的请求,然后接收,转换编码,读取到流中不一样的是下面的两行代码:mystreamreader是返回的html代码流,要做的是对代码流做去空行处理

其他代码直接略过,只写两行:
第一种情况:
while (mystreamreader.ReadLine() != null)
{ mystringbuilder.Append(mystreamreader.ReadLine()); }

第二种情况:
string strl;
while ((strl = mystreamreader.ReadLine()) != null)
{ mystringbuilder.Append(strl); }

然后写了同样的抓取关键字的代码,也就是说,出了这两行之外,其他的都一样!当比尔盖茨输出抓取的关键字的时候,发现一个很奇怪的现象:
对于某些网页,第一种情况只抓取到了部分关键字,而第二种情况不论什么样的网页,都抓取到了所有关键字!

作为程序猿的你,知道问题出在哪里吗? 比尔盖茨 String 编码 readline
[解决办法]
看出来了,第一种情况是多读了一行
[解决办法]
string与stringbuilder的区别

读书人网 >C#

热点推荐