C#中const与readonly区别

近期将旺财代码生成器的Entity代码进行优化,表名和字段名

一句话:const的值是固定的,代码里面写死的,每一次编译后结果都一样,而readonly的值是可以在运行的时候才确定值的。

了解更多:所谓静态常量就是在编译期间会对变量进行解析,再将常量的值替换成初始化的值;所谓动态常量就是编译期间会将变量标记只读常量,而不用常量的值代替,这样在声明时可以不初始化,可以延迟到构造函数初始化。

有关内存:const修饰的常量没有内存消耗;readonly因为需要保存常量,所以有内存消耗。

旺财C# .NET代码生成器支持DTcms MySQL版生成了

昨天跟一资深老用户沟通之后,发现DTcms MySql版用得人越来越多了,整个运行于Linux主机下,比一定要Windows和MSSQL数据库的要求降低了很多,优势太明显。

于是昨晚加班,国庆假期前,搞定如下升级:

1、完成MySql.Data.dll更新

消除了报错:MySql.Data.MySqlClient.MySqlException:Fatal error encountered attempting to read the resultset,以便支持较新版本的MySql数据库。

2、完善读取MySql数据库的表列表和字段属性的脚本

SELECT table_name TableName,TABLE_COMMENT TableDescription
FROM INFORMATION_SCHEMA.TABLES WHERE table_type = ‘base table’
ORDER BY table_name

SELECT CASE ORDINAL_POSITION WHEN 1 THEN TABLE_NAME ELSE ” END TableName,
ORDINAL_POSITION 序,COLUMN_NAME ColumnName,
CASE EXTRA WHEN ‘AUTO_INCREMENT’ THEN ‘Y’ ELSE ” END IsIdentity,
case COLUMN_Key when ‘PRI’ then ‘Y’ else ” END PrimaryKey,
DATA_TYPE DataType,
CASE DATA_TYPE
WHEN ‘double’ THEN NUMERIC_PRECISION
WHEN ‘decimal’ THEN NUMERIC_PRECISION
WHEN ‘tinyint’ THEN NUMERIC_PRECISION
WHEN ‘int’ THEN NUMERIC_PRECISION
WHEN ‘bigint’ THEN NUMERIC_PRECISION
ELSE CASE WHEN CHARACTER_MAXIMUM_LENGTH IS NULL THEN 0 ELSE CHARACTER_MAXIMUM_LENGTH END
END ByteLength,
CASE DATA_TYPE
WHEN ‘double’ THEN NUMERIC_PRECISION
WHEN ‘decimal’ THEN NUMERIC_PRECISION
WHEN ‘tinyint’ THEN NUMERIC_PRECISION
WHEN ‘int’ THEN NUMERIC_PRECISION
WHEN ‘bigint’ THEN NUMERIC_PRECISION
ELSE CASE WHEN CHARACTER_MAXIMUM_LENGTH IS NULL THEN 0 ELSE CHARACTER_MAXIMUM_LENGTH END
END Length,
IFNULL(numeric_scale,”) IsNumeric,
CASE is_nullable WHEN ‘YES’ THEN ‘Y’ ELSE ” END AllowNull,
column_default DefaultValue,
COLUMN_COMMENT Description
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = ‘tableName ‘

3、增加DTcms4/5 MySql版DAL生成

生成到新目录:DTcms.DAL.MySql,2个模板,同时支持DTcms4和DTcms5两个版本。

4、发布V20181001国庆版

5、下一步计划整理在线版的帮助文档

图文和视频汇总在一起,并增加开发实例视频教程

旺财2018的618小福利

今天端午节,我的旺财C#.NET代码生成器发布了V20180618版本,同时即日起公开DTcms4.旺财代码生成器免费版.20170926,有需要的朋友加我微信获取。

DTcms5版本可在淘宝购买:https://item.taobao.com/item.htm?spm=a230r.1.14.13.51f476cb2Kotft&id=545213785654&ns=1&abbucket=14#detail

我一直很喜欢写程序,你呢?

我是1999年上大学的时候才接触计算机,那时候上网还叫“冲浪”。第一次去学校的机房,视觉、身心被震撼到,深信计算机的未来很美好,于是基本来放弃了本专业(电气工程及自动化),大部分时间都用在了计算机方面的学习,最初对计算机硬件及网络感兴趣,本来打算在盯着这个领域发展的,还因此去读了MCSE,CCNA。但是后来学了C语言,学了SQL,考了MCDBA,就发现还是喜欢编程,从硬变软了。 

记得当初C语言考了90多分吧,算是高分。当时流行考计算机等级考试,我是考了C语言二级之后,又去考了QBasic,后来学什么网页三剑客,做网页,学html javascript,学SQL,还有flash的Action Script写东西。大三学汇编(必修课),大四的时候把计算机等级考试的四级也过了,这个4级对计算机系不算什么,但对我们学院,我就记得我们那届全院就我一个过了。 

2003年毕了业之后呢,虽然也做网络工程师的硬件、网络方面的工作,但后面还是写网页比较多,当时用的是Asp,使用vb script语言写的。

2004年的时候跳槽,获得Web Developer的职位,主要是内部OA开发,基于Asp+MSSQL,2005年还去研究一个类似于java的语言Coldfusion,当时还索性把他的coldfusion.cn域名注册了,等到现在也没见到Adobe来收购。同期开始接触ERP,开始熟练使用Access+sql+VBA。 

2005年下半年换工作,还是以开发为主,不仅有Web开发,也开始做BaaN的4GL开发。大概2008年开始,从VS2005升级到VS2008,开始转向C# .NET,就这样一路走到今天。 

虽然近几年很多日常工作是实施上线、技术支持、项目管理方面的,但是业余时间我还是一如既往的热爱着编程,从企业软件到电子商务,再到移动互联网开发,一直不停的坚持着。

我觉得喜欢写程序的一个原因是:太懒!发现周围的一切效率低下,就希望通过写程序来解决。在解决实际问题的同时,也一直努力提高开发效率,节约时间,让生命少一些加班,多一些色彩和可能。

但事实上绝大多数开发团队、开发成员的开发效率普遍低下,大部分时间并非用于关键的开发,而是浪费在重复工作等毫无意义的事情上。于是3年前,我开始将我自己的想法、结合几位老师(吉日嘎拉等)的经验,积累出一套经受住实战考验的开发平台和开发辅助工具:旺财C# .NET代码生成器,近日拿到了软件著作权,终算有所小成。

2016年开始,我将代码生成器扩展支持当下国内最流行的C# .NET开源CMS:DTcms,在淘宝开店并销售,积累了几十位付费用户,同时积累了一批有相同理念和价值观的程序员、软件老板朋友。

因为互联网领域Java比.NET更受欢迎,我会因此去关注、学习一些Java基础,也会关心一下Python等大数据领域的流行语言,但.NET一直是我的最爱,我觉得我会一直喜欢下去。

砍价既浪费时间又伤感情

周日睡了个午觉,中饭也没吃,醒来发现微信好友邀请和旺旺留言,一个很爽快的买家,饿着肚子给他回复、发程序、发货、发红包。

而今天上午,另一个兄弟,明明写得很清楚,还问价格,还说贵,还要开源,开个头呀开,于是被我打发了(也可能对方主动不理我了,哈哈,无所谓啦)。碰到这种人,真想问候他妈。你写个1块钱,他可能都觉得贵。有能耐自己去写,有本事自己花时间捣鼓一下试试。

免费的是最贵的:因为免费的你不珍惜,可能就丢在角落了;付了费你珍惜了,才收获了真正想要的东西!

砍价既浪费时间又伤感情,请勿砍价;

价格不是第一要素,质量靠谱才最重要。

近几日淘宝店引发的感想

有想法就要有行动

细心的朋友应该能看到我博客右上角的淘宝店链接,没错开了很久了,还付了1000块保证金。DTcms带来了的订单和客户最多,现在旺财系列的代码生成器是主力。其实本没想通过这个弄个皇冠店啥得,只不过觉得好玩,什么都想玩一玩,尝试一下,不做空想家。

没耐心的人不少

不少人旺旺留言,咨询问题,我觉得写得够详细了,并且在宝贝描述里写了我的手机、微信、QQ等,还特别说明旺旺不常看。可惜还是有那么多人,不仔细看,对我来说这个损失很小,但真正需要的人,那就是大损失了。我有时候觉得自己很没耐心,可是发现网上比我还没耐心的人更多。

沟通态度特别重要

昨天有个兄弟很晚了,通过旺旺留言、加我QQ留言,还给我发短信,还加我微信,就想要以前asp写得团队任务管理系统,看到我图片有个优惠价10元,希望来一套学习研究。本来我拒绝了,因为曾经10元卖过一套,后来退款了,被买的人骚扰烦死了,写得很清楚技术支持需要2份,钱就付了10元,就想要本来200的服务,怎么也得付110吧,买家不自觉,我直接退款了,源码白送了,远离垃圾。后来这位朋友的沟通,让我觉得懂得彼此尊重,一高兴就从100块直接改为10块钱了。虽然钱少了,但开心。难道我真的很需要这100快吗,没有也可以,而因此换来开心,换来在对待技术、对待交易有相同理念的朋友,收获更丰盛。

同样一个反例,是关于以前写过的Flowportal的手写签名插件,此人前几天就联系我,后来问了问题不会,忽然又联系我,总是问问题,拒绝回答我的提问,上来直接被我拒绝了。但对方不折不挠,反复问要看演示,又是说要外包开发,我道出1万起的标准,对方还不停追问,被我言辞激烈的拒绝了。沟通最起码有个前提,及时响应,谈得话题大家都清楚,自己不懂技术,上来就问一些无关紧要,还不介绍自己的情况,浪费时间,浪费生命。

发一下截图,大家自己看吧。