C编程初探(4)创建第一个项目
上一节我们安装了宇宙最强IDE - VS,这节我们继续我们的编程之旅。创建
打开VS,启动后会进入到下面这个页面,第一次使用,我们就点"创建新项目"。
然后会转到项目类型选择界面。
这个界面的意义是需要我们确定要编写的软件应用场景是什么样的。我通过下拉滚动条大概估算,能开发的应用场景不下几十种。
这里我就不一一介绍每个应用场景都是干嘛的了,很多应用场景我干了20多年也都没用过。
这个专栏我们就是初探,所以我们的目标就是做一个最简单的Windows桌面应用。
选项太多了不好找,过滤的方式有两种:
第一种是查找。通过在搜索栏输入关键词,比如我输入"桌面"
这样所有包含桌面的应用场景就都出来了。
第二种就是过滤。通过不同条件过滤找到我们需要的项目类型。这里我录个动图大家看下:
查找的方法我们会了。可即便如此,仍然有好多选项,该选哪个呢?
我们以过滤的结果为例:
我不说大家也大概率会选第一个或第二个,后面的叫什么WPF,都不知道是干嘛的。
这里稍微给大家解释下几个名词。
WPF是微软推出的一套不同于WinForm的界面框架,这个界面看起来更漂亮,当然学习难度也稍微大些,这个框架我们以后会开设专栏专门讲它。刚开始的初学阶段,还是用WinForm的开发方式,最容易上手。
WinForm,准确的说应该是WinForms,Win就是windows的缩写,Forms英文意思就是形式。其实上面的界面中微软已经给出了大致的解释,Windows 窗体(WinForms),直译就是窗口形式的应用。我们日常使用的软件,大多都是以窗口形式的,微软把这种开发类型定义为WinForms。与WinForms相对的另外一种开发类型是基于浏览器运行的网页形式,一般我们称为WebForms,这个我们也是以后要讲。
明白了上面名词的含义,我们再回过头来看,下面带WPF的就都排除了。但第一个和第二个看着也都挺像,二者的区别就是一个带(.Net Framework),一个不带,这个.Net Framework又是什么鬼呢?
这又是一段漫长且复杂的历史了。我大概唠叨一下,各位观众如果有兴趣就看一看,没兴趣的可以直接跳过:).net framework与.Net的历史
.net framework是2002年微软推出的一套开发框架(C#语言也由此诞生),它对windows操作系统底层做了封装,在操作系统与应用程序之间增加了一套内存托管机制,让用户不用关心内存分配与调度问题,既为开发提供了便捷,又保障了操作系统的安全性和健壮性。但由于微软总想守住自己的Windows系统,在战略上一直不肯开源、不肯跨平台,所以.net Framework一直都只能在windows平台下运行。在PC时代,这样的定位倒也是战无不胜。但到了移动互联网时代,无论是微软自家研制的Windows Mobile系统,还是与诺基亚联手后推出的Windows Phone系统,都无法抵御 Google的Android和苹果的iOS对市场的占领与瓜分,微软这个PC时代的王者,却在移动互联时代一错再错。
眼见着对手们在移动互联领域把自己落得越来越远,自己再也无力回天。微软在认清闲时候开始转变了战略。从闭源到开源,不再守住自己的那片天地了,而是要拥抱开源、拥抱跨平台。2016年推出了跨平台且开源的.net core,用以区别.net Framework,很多运行在Linux服务器的程序可以用.net core来开发了。2020年,将.net core正式更名为.Net,.net Framework和.net core都将成为了过去。现在的.Net,除了在Linux系统的界面开发还差点意思,其他场景基本都可以胜任了,以后只有.Net,再无.net core和.net Framework了。
当然,.net Framework由于历史原因,积累了大量的客户,不能说没就没,所以还做为开发选项提供,只是不会再有新的特性了。
了解了上面的历史,我们就很清楚了。要学习的话,肯定是以新的.Net为目标,旧的技术应用场景肯定是越来越少。
我们现在回到选择界面,毫无疑问,我们选第一个:.Net Windows窗体应用。
点击下一步,进入到配置新项目的界面。
位置好理解,就是代码存放的磁盘目录。尽量选在非系统盘,防止重做系统就把代码弄没了。
需要手动填写的是:项目名称和解决方案名称。
那这里的项目和解决方案是什么意思呢?我们知道一个企业有很多部门,办公室、财务、销售、技术等等,这些部门各司其职又相互配合。软件开发也一样,有负责处理用户操作与用户进行交互的,可以称为UI项目;有负责与数据库通信完成查询和保存数据的,可以称为数据库项目,有负责处理专门定义各种数据类型的,可以称为实体项目......这些项目也是各司其职相互配合,它们整体构成了这个软件的解决方案。
对大型软件开发来说,由于参与人员众多、产出成果也多,这样的划分很有必要。从开发的角度上看,哪些人负责哪个项目,并行开发,有助于提高效率,明确责任。从维护的角度上看,哪个项目出了问题,修复对应的项目就好,不需要全部修改。甚至不同的大型软件之间,为了提高复用性,也可以共享某些项目。
当然如果是一个很小的软件,一个人开发、可能在一个项目中就都搞定了。
总结下来,一个解决方案中可以有一个或多个项目,一个项目也可以被多个解决方案同时引用。
明白了各自的含义,我们在项目名称那里,填上:FirstApp。对应的就是我这个专栏的内容。解决方案那里,我写的是上:编程教学。以后我再有新的专栏,就在这个解决方案中添加一个项目就好。
项目名字可以随便定义,不过不支持特殊字符。比如我写C#教学就不行,#是个特殊字符。
将解决方案和项目放在同一目录,这个选项无所谓。我一般是不勾选,还是分开目录存放比较明晰。
这样填写完成后,我们继续下一步。
这里我们看到的是框架选择
按照正常的理解,我们肯定是选最新的.NET 7.0,但是后面还跟了一个标准期限支持,这是什么意思?难道过了期限以后就要收费了吗?
我们看下这张图就基本明白了
.NET 5、.NET 7都是标准期限支持的,时长是18个月。.NET Core 3.1、.NET 6是长期支持,时长是3年。过了期限以后,这个版本微软就不再更新了,有Bug人家可能也不修了。当然你写过的代码仍然能够运行,只是这个版本就没有新的特性而已。想要支持新的特性,那就升级到新的框架,比如目前我们能看到的是.NET 8。一般来说,高版本的都会兼容低版本的,即便是框架升级,改动也很小。
所以,我们为了让教程能够有更长的有效期,我们选择最新的.NET 7框架。如果未来看到这个教程的观众已经有了.NET 8甚至.NET 10可以选择,选最新的就好。
选好以后,我们点右下角的创建。稍等片刻,我们就看到了这样的画面:
具体如何让它运行呢?我们下回分解。
华中科技大学在985类大学里面处于什么样的地位呢?华中科技大学是武汉市教育部直属高校之一,为国内39所985工程高校之一,在国内高校综合实力中占据比较重要的地位。华中科技大学可以说是新世纪发展比较迅速,质量比较高效的大学。那么,华
初二排名决定中考排名吗?初二成绩排名靠后能考上高中吗?作为一个教育老师来回答你的问题吧。学习进入初中之后,一般初一入门阶段,初二就是分成阶段。初三就是冲刺阶段。正常情况下初一的时候你的成绩还不是太稳定,如果说初一的成绩还不是很好,只要
现在每月100元够一个人的生活费吗?够。我来帮你算算,一个人一天一斤大米,按三顿算,一个月按三十天算就是30斤,按现在市场上最便宜的物价也在两块多,如果有搞活动的两块能搞定,就是60块钱。第二,买鸡蛋,超市一版鸡蛋在
你有没有发觉,明明一天很忙碌,但却一事无成?感觉现在的工作状态就是这个样子。明明已经很努力的在工作。努力的提升自己的工作经验。想方设法的加班兼职。天天六七点要起来上班,晚上一定要七八点才能下班搞完。这样的生活已经两三年了。感
请问大家高职扩招的全日制专科学历有啥用吗?跟某高职系书记交流了一下,扩招的目前招生已完成但是还没开学,上边突然丢下来的任务措手不及,目前具体政策不清。统招学生一学期400学时,扩招的200学时主要是周末假期完成而且包含实习
山东滨州学院怎么样,它属于一所什么档次的大学呢?山东滨州学院是山东省属全日制综合性普通本科院校,位于山东省生态园林城市滨州市。滨州,位于山东省北部,是山东省的北大门,著名军事家兵圣孙武的故乡。滨州学院成立于2004年,校园占地1
预计2021年下半年能出国吗?肯定可以。为什么这么说呢?第一,去年全球疫情就已经爆发了,虽说这会儿看似很多,那是因为核酸检测能力变强了,实际这波疫情并不一定比去年年底的严重。第二,这个病毒受温度影响非常明显,夏
彩票中了大奖后,需要多久可以拿到钱?我们都需要注意哪些事项?彩票中了大奖后,多久拿到钱都有可能,甚至有可能拿不到,因为需要注意的事项可真不少。一彩票中奖多久能拿到钱取决于你自己彩票开奖后,你发现中奖了,随时都可以去领奖拿到钱。当然你可以缓几
我女儿在广州上大学,一个月给她800元生活费够吗?看了这个问题,我都惊呆了,这都2020年了,还有人指望着800元生活费能够在广州的大学活下去,实在太少了!且不说广州,我们这里十八线小县城,在县城的高中读书,一个月生活费都是最少8
国考和省考公务员考上后有什么区别?待遇哪个好?国考和省考公务员考上后有什么区别?待遇哪个好?区别之一,录取部门不一样。国考国家公务员,录取在中央机关和中央机关垂直管理的部门,如国税,海关。省考地方公务员,录取在省市机关和县区镇
省考考出来的公务员工资待遇怎么样?国家公务员局局长曾有言论当公务员就不要想发财。如果你想要工资高赚大钱,就不要去考公务员。但是,参加省考,公务员的工资水平是和地区城市单位有很大关系的。一般来讲1。省市县乡镇,越往下