您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > C/C++/C#

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

时间:2021-08-17 10:26:48  来源:  作者:自由践行

最开始接触.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#的同行们:)

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

 



Tags:C#   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
目前数据的种类非常多,每种数据都支持sql语句,但是大家发现没有每种数据的SQL都有自己的语法特性,都是SQL语句都没有一个特定的语法标准,导致开发人员在开发的过程中无法任意选...【详细内容】
2022-07-05  Tags: C#  点击:(21)  评论:(0)  加入收藏
描述使用C#.Net开发的Windows远程控制管理系统SiMay,底层基于IOCP的异步通信模型,实时监控海量客户端,目前功能已实现:逐行扫描远程桌面协助、经典的文件管理、实时远程语音、实...【详细内容】
2022-06-30  Tags: C#  点击:(36)  评论:(0)  加入收藏
1.如何远程调试服务器的windows 服务-远程调试 远程服务调试前提:要确保你的代码和服务在同一个域下才可以 1)首先要在你vs的根目录下找到 Remote Debugger 文件夹,复制到带有...【详细内容】
2022-06-16  Tags: C#  点击:(57)  评论:(0)  加入收藏
描述一款高性能敏感词(非法词/脏字)检测过滤组件,附带繁体简体互换,支持全角半角互换,汉字转拼音,模糊搜索等功能。同时支持多种语言,C#、golang、java、javascript、python参数...【详细内容】
2022-06-14  Tags: C#  点击:(51)  评论:(0)  加入收藏
讲故事前几天看公司一个新项目使用了FluentValidation,大家都知道FluentValidation是一个非常强大的用于构建强类型验证规则的 .NET 框架,帮程序员解决了繁琐的校验问题,用起来...【详细内容】
2022-06-08  Tags: C#  点击:(53)  评论:(0)  加入收藏
参数来源:GitHub(802) https://github.com/FastTunnel/FastTunnel来源:Gitee(2200) https://gitee.com/Hgui/FastTunnel协议:Apache-2.0 license官网:https://suidao.io/文档:htt...【详细内容】
2022-05-16  Tags: C#  点击:(115)  评论:(0)  加入收藏
需要处理的JSON文本文件{"name":"王東東","age":27,"other":[{"id":1,"name":"Rex","work":"bilibili"},{"id":2,"name":"Rex","work":"今日头条&q...【详细内容】
2022-05-05  Tags: C#  点击:(93)  评论:(0)  加入收藏
常设置属性、事件 CustomFormat:当Format属性设置为自定义类型时可自定义控件时间的显示格式; Enabled:指示是否启用该控件,true为启用状态可编辑,false为禁用状态不可编辑; MaxDa...【详细内容】
2022-04-02  Tags: C#  点击:(110)  评论:(0)  加入收藏
本人在了解对接国家医疗保障信息平台中定点医药机构接口文档中,传输加密方式使用国密算法之SM2.然后本人在隔离期间研究了一下,将内容进行总结,本文主要讲解“国密加密算法”SM...【详细内容】
2022-03-29  Tags: C#  点击:(186)  评论:(0)  加入收藏
C#可以使用Microsoft Visual Studio Installer Project工具打包成桌面应用程序,工具下载网址: https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.Mic...【详细内容】
2022-03-22  Tags: C#  点击:(730)  评论:(0)  加入收藏
▌简易百科推荐
在go语言中使用viper之类的库很方便的处理yaml配置文件,但是在c语言中就比较麻烦,经过一番思索和借助强大的github,发现了一个libyaml c库,但是网上的例子都比较麻烦,而且比较繁...【详细内容】
2022-07-07  全栈搬砖家    Tags:yaml   点击:(19)  评论:(0)  加入收藏
目前数据的种类非常多,每种数据都支持sql语句,但是大家发现没有每种数据的SQL都有自己的语法特性,都是SQL语句都没有一个特定的语法标准,导致开发人员在开发的过程中无法任意选...【详细内容】
2022-07-05  海椰人    Tags:SQL语句   点击:(21)  评论:(0)  加入收藏
今天给大家分享一篇C语言编码规范,可以从源头上规避掉很多bug,希望能对大家有所帮助。 01 最重要的规则编写代码时最重要的一条规则是:检查周围的代码并尝试模仿它。 作为维护...【详细内容】
2022-07-04  嵌入式Linux    Tags:C语言   点击:(22)  评论:(0)  加入收藏
什么编程语言最好?这是个能让各路程序员吵翻天的话题,每种语言都有自己的拥趸,全球现在找出三五十种编程语言都不是问题,热门的至少也有20种,先不说这些语言好用与否,它们的性能也...【详细内容】
2022-07-01  HAIFEIX    Tags:编程语言   点击:(29)  评论:(0)  加入收藏
描述使用C#.Net开发的Windows远程控制管理系统SiMay,底层基于IOCP的异步通信模型,实时监控海量客户端,目前功能已实现:逐行扫描远程桌面协助、经典的文件管理、实时远程语音、实...【详细内容】
2022-06-30  IT微部落    Tags:C#   点击:(36)  评论:(0)  加入收藏
1.如何远程调试服务器的windows 服务-远程调试 远程服务调试前提:要确保你的代码和服务在同一个域下才可以 1)首先要在你vs的根目录下找到 Remote Debugger 文件夹,复制到带有...【详细内容】
2022-06-16  中年农码工    Tags:C#   点击:(57)  评论:(0)  加入收藏
描述一款高性能敏感词(非法词/脏字)检测过滤组件,附带繁体简体互换,支持全角半角互换,汉字转拼音,模糊搜索等功能。同时支持多种语言,C#、golang、java、javascript、python参数...【详细内容】
2022-06-14  IT微部落    Tags:C#   点击:(51)  评论:(0)  加入收藏
讲故事前几天看公司一个新项目使用了FluentValidation,大家都知道FluentValidation是一个非常强大的用于构建强类型验证规则的 .NET 框架,帮程序员解决了繁琐的校验问题,用起来...【详细内容】
2022-06-08  黑哥聊dotNet    Tags:FluentValidation   点击:(53)  评论:(0)  加入收藏
C语言中没有参数默认值的概念,但其实可以利用宏来模拟参数的默认值;我们之前介绍过可变参数宏与逗号运算符,将两者相结合的话可以定义出以下形式的宏:#define func(...) __fun...【详细内容】
2022-06-04  嵌入式ICU    Tags:C语言   点击:(66)  评论:(0)  加入收藏
请大家看下面的题目,应该选择哪个答案呢?选择题 1首先,此类题目每年的考试都会出现,也就是说,标识符这个知识点非常重要。此类题目一般都是送分题 ,只要掌握了标识符的命名规则,这...【详细内容】
2022-05-20  正直的苏离    Tags:标识符   点击:(74)  评论:(0)  加入收藏
站内最新
站内热门
站内头条