摘要:答案:It depends.“你去屎吧!”我猜一定会有人这么说。既然“改天我也去发一篇“QUIZ: 园子一个用户发多少篇给个问题还看心情才给答案的文章才会让全园友崩溃,是什么原因”放首页来好了”这样的回复,上面那个想法也肯定必然的。好,那我先剧透一点:这个崩溃和里面的那一个字是什么有关,而且和你是什么职业也有关。“靠,这怎么可能,你干脆说是人品问题好了!”好吧,如果你真这么想,那我也只好说,至于你信不信,我反正是信了。其实我发这些个QUIZ的原因,是发现了一些有意思的问题,希望大家去实验一把。可是现在园子水平真的很不济,貌似愿意动手刨根究底的人并不多。这也是我在工作中发现的一种现象,很多人都“
阅读全文
随笔分类 - .NET 技术内幕
一些比较核心的内容
摘要:一个很简单的SilverLight4应用,上面只有一个TextBlock,里面只有一个字。你猜,这一个SilverLight在同一个页面中创建多少个时,会出现莫名其妙的崩溃?这种崩溃和什么有关?哈,知道的同学不要说话。同样,这个问题的答案也是要看我心情如何,心情好的时候就会上来写,嗯。P.S.: @duduWhat is the god damned order of your priority in developing this website? Making money, or making it easy using for us? Why the sooooooo complex p
阅读全文
摘要:答案是:System.Security.Cryptography (.NET FX 4.0,见下图)这个Quiz看过的人不超过160个,说明大家越来越水了。打口水仗各个精神百倍,唾沫星子四处飞。真正来实际的,就全都瞎火了。还记得很久之前某人的一个说.NET咋咋不好的一个系列贴吗,其中有一集说Metadata很大又没有用应该去掉等。当时这个帖子多么火热啊!可惜是否真这样,谁又真的研究过呢?要挑事一定要拿出证据来,批驳别人也一样的。当时我对此兴趣缺缺,只想说这不是什么重要的问题,大家洗洗睡吧,所以也就没多深挖。后来因为有SL4的项目,需要对XAP包瘦身,于是就顺道研究了一下.NET的DLL空间大小
阅读全文
摘要:1、4.0的mscorlib里面最占文件空间的类是哪一个?2、最主要是因为:A) 对该类及其成员的描述;B) 该类及其成员的名称;C) 该类及其成员的签名;D) 该类中的IL代码;E) 该类所使用的字符串。曾经有人提出.NET慢是慢在这里,呃,这个我不感兴趣,尽管我怀疑又会再次引起类似的争论。好吧,如果你们非要继续聊这个问题,我先说明我不会参与的。其实这也是一个很有意思的事情,因为有的场景中需要二进制文件大小尽可能的小,比如说所Silverlight。可是,当你看着你的项目越来越大越来越大……为什么呢?不知道。没有调查就没有发言权,所以,只好自行开发一个小工具来研究一下。答案稍后公布。
阅读全文
摘要:声明:切勿以此为笔试题。我们很多时候都会激烈的讨论算法、数据结构、设计模式、N层架构、某某框架、系统架构,可是真的在实战当中,才会发现原来有些很简单的问题我们会不知道答案。比如说:[代码]上面的输出是什么呢?这个问题看起来好像很简单,continue不就是进入下一次循环嘛。可问题是,如何进入呢:是直接走到循环最上面的一行代码呢,还是走到循环条件的判断?for、foreach和while都是走到最上面一行代码,而最上面一行代码都存在或者隐含了循环条件的判断。do-while因为循环判断条件在最后,因此不可能同时符合这两个说法,那么到底哪一个说法才是真的呢?这个问题Google之似乎是找不到答案的
阅读全文
摘要:这两天发生一件事:有人在一台64位操作系统的IIS上面部署了一个Web应用,结果一访问就显示出错。出错信息如下:Server Error in '/' Application.--------------------------------------------------------------------------------Could not load file or assembly 'MynetMonitorCore' or one of its dependencies. 试图加载格式不正确的程序。Description: An unhandled exception occu
阅读全文
摘要:我不知道都有多少人关心C# 5.0?随便搜了一下,好像博客园里面没啥这方面的信息。目前能看到的最详细的资料就是异步编程的资料了,这里贡献一下视频资料:(Anders Hejlsberg主讲的,推荐阅读一下。)http://player.microsoftpdc.com/Session/1b127a7d-300e-4385-af8e-ac747fee677aJeffrey Zhao翻译过这个视频,英文听力不好的,可以看他的翻译:http://blog.zhaojie.me/2010/10/pdc2010-the-future-of-csharp-and-vb-by-anders-hejlsber
阅读全文
摘要:呃,先不要砸鸡蛋。我说的Lambda表达式指的是ExpressionT,不是随便哪个item = { ... }。好吧,如果你还是不明白,那么我给你一个例子:(抱歉,原来的return item;是个笔误,现已更正为 return (item%2) == 0;代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--IQueryableintvalues=newint[]{1}.AsQueryable();intlast=0;varquery=
阅读全文
摘要:很久没有搞比较底层一点的东西了,最近又开始搞,于是乎又发现了一些很鸡毛蒜皮的事情。也许有人已经发现过了,那就请原谅我就再来挖掘一遍。byte[]、sbyte[]、int[]等数组,是一种特殊的类型,他们都继承自Array。不过这个继承还不是一般的继承关系,编译器和CLI都做了一些特殊的工作。我们先看普通的继承关系:[代码]如果我们试图写下列的代码:[代码]那么结果是什么,你懂的。好吧,你不懂。那我...
阅读全文
摘要:说真的,我也开始觉得大家认为“firelong是dudu请来的公关”这种理论是有道理的。因为这位英雄一开贴就炸出一个大坑,众多博客园中的老一辈已经出现了很多。这不,我宣布了无限期潜水都跳出来了,搬出去的Jeffrey也在这里面不停的回复。哈哈,知道我还看到了谁?装配脑袋哦!嗯,不知道接着灵感之源是否会出现。这真像是一个大狂欢啊!(怀念过去博客园那种讨论气氛。)不过我也确实感觉到:这会不会是博客园历...
阅读全文
摘要:在之前另一篇回复中,已经提出来,firelong的逻辑有欠严谨。这是因为firelong所说的linq似乎是指linq2sql,而linq2sql并非C#的一种特性。如今firelong又提出C#性能不能承受之慢,这一篇文章在我看来,存在更多的逻辑漏洞。很可惜的是,有许多人在回复中的评论,并没有正确的指出这一点。首先,我这里需要提出一个问题是:C#性能慢,是与什么做比较?是与C、C++比较呢,还是...
阅读全文
摘要:我们考虑有以下类:class Order{ publicCustomer Customer; public double Price; public int Amount;}class Customer{ public string Name; //...}再假设有GetOrders()函数,可以获取订单集合。现在我们有一个任务:获取所有订单总价值在10000元以上的客户的姓名。如果我们用Linq...
阅读全文
摘要:你的站点有被客户投诉很慢吗?是不是查了很多遍还是没有完全解决?是不是数据库没有发现异常,CPU也没有异常,内存占用量没有异常,GC计数没有异常,硬盘IO也没有异常,带宽没有异常,线路没有异常,没有丢包,但就是被投诉?而且还是阵发性的,有某个用户投诉慢的时候,你访问却很快,本地又复现不出来?今天你访问了博客园真是太幸运了,也许这里就有你想要的一个答案——假如你的站点动态处理了图片或者其他原本不会动态处理的非网页资源的话。没想到吧,这是Session惹的祸!
阅读全文
摘要:(又翻出来一篇一年多以前的半成品,赶紧给补充完整放出来。)最近终于得以试用Linq to Sql了,刚开始用,感觉还挺不错,因为一切都显得很简单。也许是我还不太熟悉,所以也有不少的困惑。别的先不说,只说一个:“有状态的”实体类。Linq to Sql 所创建出来的实体类本身并不是有状态的,有状态的是DataContext。但是正是这个有状态的DataContext,造成了实...
阅读全文
摘要:老久不上来写技术类的东西了,偶尔回归一下吧。(其实,这篇文章8个月前写了个大半,后来一直没有时间去完善,再后来就因为各种原因给放下来了。)非常抱歉,由于需要发表其他文章的缘故,我只能忍着不修正文中一小部分错误,以及增加一些有助免于误解的内容。这里特别说明一下,本文不是要讨论缓存机制的好坏,更不是要讨论如何缓存对象。而是说DAL/BLL上面对DataContext的处理。另外一个需要注意的地方,是修...
阅读全文
摘要:前言 今天看了两篇讲协变/反变的文章,写得很好也很有意思。不过我猜应该有不少人可能还是很难理解这个新概念——每一次推出新的概念的时候,都会或多或少造成我们的困惑:这是个什么东西?为什么要出这么复杂的东西?我们什么时候应该用这种东西,什么时候不该用? 有这样的困惑没关系,我想绝大多数人都经历过这个过程。我在这里呢,也说说从我的角度是如何看这个新鲜事物的,也许对理解这个东西有帮助。不过先声明一下,我没...
阅读全文
摘要:我最近用Linq2Sql比较多,积累了一些小小的经验,也遇到一些挫折。今天只讲其中一个挫折:Linq2SQL与AsQueryable水土不服。 在我的一个项目里面,经常发现系统无故Down掉。这种Down掉以前从来没有遇到过,因为系统的EventLog里面没有任何记录,try...catch也不管用——即使用了try...catch,也仿佛是遭遇了逻辑黑洞,整个进程就在那一点突然消失掉。由于第...
阅读全文
摘要:为了适应公司不断发展壮大的需要,我们终于要准备使用Team Foundation Server了。原来的代码控制程序是在老板笔记本上面运行的VSS,经常老板出去开会,我们几个人之间就没有办法更新了。除此之外,VSS还不时地出一些莫名其妙的bug,比如说遇到过本地显示已经更新完毕,但是服务器上面还是旧版本,或者本地脱机状态时签出,但是连上服务器之后便成了签入状态(实际上本地的代码还是新代码,再次签出...
阅读全文
摘要:话说上一回,Jack说还有一个小概念,什么概念呢?
Jack:是这样的,……
Sumtec回去之后忙活了半天,终于完成了第一个“可以运行的”版本。
详情点击进入察看
阅读全文
摘要:首先感谢拓荒者为我们提供了错误样本。
其次希望微软能给我奖金,或者至少稿费。
该错误在一般使用的情况下很少遇到,但在非常特殊的使用方式下才会产生,尤其在您特意使用一些C#的副作用的时候更容易产生。不过如果遇到了,说不定真是会损失惨重。(我个人感觉这种错误跟Intel多年前奔腾芯片的浮点错误非常神似。)
错误简述:
如果您的程序:
1、在某个整形变量上面进行不带检查的加法操作(unchecked,默认的行为方式,不包括减法、乘法、除法操作),并且产生溢出(溢出后数值必然是负值),并且
2、……
3、……
或者与此相反的:
……
详情请点击进入阅读
阅读全文