编程20多年了,C#越来越让我惊喜

最开始接触.net大概是2003年,当时用的还是framework1.1,那是CAM项目,使用.net主要是利用RemotingService做分布式开发,我当

最开始接触.net大概是2003年,当时用的还是framework1.1,那是CAM项目,使用.net主要是利用RemotingService做分布式开发,我当时做其中的一个子系统,因为之前一直都是C++开发,对C#一无所知,我们组用的是托管C++。

后来随着对C#的了解,逐渐领略到了它的强大之处。用C#+Winform编程做UI简直太方便了,拖拖拽拽就好了,然后代码中直接用控件名称取值、赋值。用VC和MFC,得先找到找到那个控件,然后再转换成相应的类,才能继续操作。

这是C++和MFC对控件的取值代码:

CString context;

GetDlgItem(IDC_EDIT_CTX)->GetWindowTextA(context);

这是C#和Winform对控件的取值代码:

string name = tbxName.Text;

其他方面相比较C++而言,C#还有很多便利的地方:

字符集:C#默认就是utf-8,C++涉及到中文,还得考虑宽字符的转换;

托管内存:除了系统资源,C#基本上不用太担心内存泄露;C++,轻则程序崩溃,重则内存泄露,而且一堆指针下来以后,很难查;

当时唯一感觉不爽的就是C#1.0时还不支持泛型,而C++是支持的。

到了C#2.0的时候就支持泛型了,也就是在Framework2.0之后,我基本上就不再用C++开发了。

由于一直在Windows下编程,Java简直就没法用,Windows下的Java开发跟C#比起来真的很垃圾,随便一个Java开发的小破程序,一运行起来至少就几百M内存,而且越来越大,过段时间就得重启,Java给我的印象就是运行缓慢且臃肿。当然这个代价就是让我错过了移动开发的最好时机,但也让我领略了C#的全能之美。

2006年,给上海一家水厂做ERP,历时3年20多个子系统,B/S+C/S相结合,全部都是用C#+WinForm+WebForm来完成;

2010年,给烟台一家建筑企业做ERP,大概2年10几个子系统,B/S架构,也都是用C#+WebForm来完成;

2013年到现在,自己创业,写了5-6个软件产品,仍然是C#+WinForm+WebForm,官网、爬虫、GDI+、自编脚本引擎,仍然是完美完成各类任务。

2021年,PC端日渐萎缩+疫情影响,我打算做跨平台开发,结果发现原来早已经有了Unity这么强大的引擎出现,完美与C#融合,以前是靠mono,可能还考虑有不稳定的因素,现在竟然支持IL2CPP的编译支持,这还有什么可顾虑的了呢?接下来的项目我就打算用Unity做个小游戏来试水。

不做游戏的话,也可以考虑用Xamarin,听说这个也是跨平台的,不过我现在没用用上,不清楚会有多少坑。

希望下个10年,仍然可以继续用C#在代码世界翱翔吧,献给同样喜欢C#的同行们:)

原创文章,作者:小条,如若转载,请注明出处:https://www.sudun.com/ask/79766.html

(0)
小条's avatar小条
上一篇 2024年5月31日 上午1:29
下一篇 2024年5月31日 上午1:29

相关推荐

  • php网站空间的重要性及如何选择合适的空间服务商

    PHP网站空间,对于每一个从事网络行业的人来说都是不可或缺的一部分。它不仅关系着网站的稳定性和访问速度,更直接影响着用户体验和SEO排名。那么,什么是PHP网站空间?为什么它如此重…

    行业资讯 2024年3月27日
    0
  • dns的危害,dns污染域名

    网站无法访问:如果用户输入正确的域名,则会被重定向到错误的IP地址,无法打开网站。 网速慢:用户可能会因为被重定向到错误的IP地址而需要较长的加载时间,从而导致网速慢。 恶意网站的…

    行业资讯 2024年5月10日
    0
  • 如何有效防御CC攻击?

    网络安全加速行业近年来备受关注,而其中最具挑战性的问题之一便是如何有效防御CC攻击。这种攻击手段不仅威胁着企业的信息安全,更可能导致巨大的经济损失。那么什么是CC攻击?它又有哪些危…

    行业资讯 2024年3月29日
    0
  • 假如steam被墙,steam被墙了怎么解决

    2.使用VPN工具:VPN是一种虚拟专用网络工具,允许用户隐藏自己的真实IP地址并绕过网络限制。如果您想继续使用Steam,请考虑使用VPN 访问该网站。目前市场上有许多免费和付费…

    行业资讯 2024年5月10日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注