dxmnet 阅读(1076) 评论(6)
我最近一个project是用的C#写的。以前也想用C#,但C#有一个缺点,就是它运行时需要.net framework的支持。这将给我们软件的部署增加困难。
这次写的一个服务程序,很自然就选择了C#了。因为不要考虑众多用户端安装 .net framework, 只要给服务器安装 .net 就行了。
使用的时候发现还真是非常方便。
1, 编辑器更智能。
    a) 代码错误提示 虽然同样是 vs2005,但编辑器处理起C#就智能得多。在你编译以前,就已经指出那些可能包含错误的地方了。
   b) 代码自动完成 你只需要输入一个变量名的前1~N个字符,如果该变量已经定义,那么它就会自动帮你完成。这样减少了很多键入错误。
2, 减少你出错的机会。
   变量不赋值前是不允许使用的。if(a=1)是不允许的。增加你极少的工作量,而避免了在vc情况下花了几个小时,几天,甚至几周来寻找一个小小的BUG的可能。
3, 减少你的工作量。
    比如你要查找一个文件是否存在,在vc那里你必须要#include,还要#prament lib来引用lib文件等,而C#直接用 File.Exists(sPath) 就好了。
   比如你要打开一个文件,在其最后增加一行字符串,在VC你没有5行以上的代码,搞不定。而C#只要一行代码就OK了 File.AppendAllText("d:\\my.log","msg");
   甚至要记录到系统的日志察看器,如果用VC,你可能需要查大量的文档,写很多行代码才知道怎么做。而C#只要三行就OK了
                EventLog log = new EventLog();
                log.Source = "用户";
                log.WriteEntry("记录日志");

  foreach 关键词也非常实用。
  string 也远胜于 CString ,比如其中的 split 方法。
        string[] exts = s.split(';');
        简单的一句代码就已经将一个字符串按分隔符,拆分成一个字符串数组了。
 
      总之,C#把程序员从某些不该出现的重复劳动中解放了出来。从而更轻松地完成任务。也有人说,vc好啊。不过,已经发明了洗衣机,谁还愿意手洗啊?
       当然,也有很多很多情形是C#不适应的。我只是说,如果一件事C#和VC都能完成,那我会选C#。
       btw: 听说 C的新标准 C++0x 挺牛的,还增加了垃圾自动收集。期待他的表现。

  

评论列表
Diviner
re: why C#? not vc?
垃圾自动收集感觉在c++里不太可能被加进去了,还是省省心吧。
山丘之王
re: why C#? not vc?
 不懂水厦的人飘过。
turygo
re: why C#? not vc?
呵呵因为c#中类库功能很强大,你要用的东西基本都封装好了嘛,人总喜欢偷懒的嘛
局部变量
re: why C#? not vc?
第二条不成立,c++中有警告信息,注意就行了。
总而言之,各有利弊

发表评论
切换编辑模式