zoukankan      html  css  js  c++  java
  • C# 在线培训之零基础入门 01:开篇及C#程序、解决方案的结构

    一. 本课程所面向的对象

    从今天起,我们开始《零基础c#入门》学习。本课程是一门收费课程,请参见TMJ .NET在线培训

    《零基础c#入门》是给那些非常想成为程序员,但是基础又比较差的同学准备的,差到什么程度?差到可以从来没有写过一行程序,当然,我们也相信,本系列学习对于大学本科学的计算机,但是又初入程序员这个行业的同学有很大帮助。

    二. 为什么选择C#

    为什么要选择C#作为你成为程序员的第一门语言,我们这里归结的原因有3个:

    • 首先,C#是一门非常优秀的面向对象编程的语言;

    凡是对编码感兴趣的同学一定听说过“面向对象编程”这个概念,C#就是为此诞生的,它天然是面向对象的。所以,既然“面向对象编程”是当前IT界的主流,我们选择C#就没有偏离主流方向。

    • 其次,C#是当前微软力推的一门开发语言。

    C#(读作C Sharp),原名Cool(够酷),它发布于2000年6月26日。虽然只有短短十多年时间,但是如果我们现在使用微软的技术在Windows平台上来开发一般应用,我很难想象得出还有什么语言被C#更合适。

    • 最后,经过多年发展,C#语言很适合入门;

    C#语法简单,入门容易。它能满足让我们快速成为程序员的愿望,我们的最初实际编程例子,就是一个有意思的“打老鼠”游戏,使用C#,能很快让我们感觉到我们是在写有用的代码,而不是一直在学习,直到某天才能写出有用的代码。

    三. 使用C#可以开发什么程序

    好的,我们再来看看使用C#可以开发什么样的程序:

    image

    首先,左上角,使用C#可以用来开发传统的Windows窗体程序。比如QQ、暴风影音,比如Word、Visual Studio等,它们都是窗体程序,且不论它们本身是什么开发的,但是现在我们都可以使用C#来进行开发。

    其次,左下角,这是本文成型时微软官网的界面截图。没错,使用C#还可以开发网站程序,而且,C#也成为了使用微软技术进行网站开发几乎首选且唯一的语言。VB.NET,Asp,CGI,那都不是主流,甚至连非主流的快算不上了。

    右下角,没错,这是目前比较酷的一个C#的应用,那就是Windows Phone平台的开发。使用C#,我们可以很方便的在当前最热门的移动平台(包括平板)上进行开发,我们可以将我们写的应用程序上传到微软的应用程序商店中,让别人来使用你的程序。

    除此之外,我们看到右上角的游戏画面,使用C#,我们可以在以上平台上进行游戏的开发,这是一个内容分支,之所有把它单独列出来,是因为喜爱编码的我们很大程度上都是游戏爱好者,而使用C#可以让我们多平台上开发自己的游戏。

    使用C#,我们可以干世界上90%的事情,剩下的10%,等我们入门了之后再说吧。

    四. 使用什么工具来开发C#程序

    首选的当然是微软的Visual Studio,当然,如果我们一定要追求特立独行的话,当然也可以使用记事本来编写代码,然后用.NET Framework的命令来编译成为可执行程序。业界也有几个其它的工具来开发C#,但是都未形成主流。作为初学者,我们最好就使用Visual Studio,当前的版本是2012。

    另外一个建议是,我们最好使用英文版,使用中文版,一开始的时候可能入手会简单一些,但是不利于我们成长为专业开发者,因为我们一旦编码经验逐渐增 长,在调试过程中,难免会出现一些异常信息,大部分的异常我们虽然都能在中文网站搜索到,但是一些比较难解的异常往往英文网站能提供有效的帮助,如果我们 使用英文版,那么英文的异常信息能帮助我们搜索到这些信息。

    Visual Studio的下载地址在微软的官网有:

    http://www.microsoft.com/visualstudio/chs/downloads

    五. 写一个C#程序需要具备什么基础知识

    好,接下来我们看看写一个程序需要具备什么样的基础知识,见下图的4点:

    image

    关于最后一点:数据类型、运算符和控制流,我们要强调一点,我们的课程不会单独开篇章去讲基础的语法知识,而是让你在动手开始编码任务的过程中,如 果涉及到了某知识,我们就会对其进行讲解。很多的书本或者课程,大篇幅的讲语法和基础知识,往往会让我们丧失了学习下去的兴趣,我们在这里是要换一个思 路,那就是直接写程序,通过写代码,来自然而然的掌握这些基础知识。比如,我们为了讲这些基础知识,就要写两个程序,一个就是非常经典的Hello World,而紧接着,我们就要写一个非常简单的打老鼠的游戏,希望通过这个打老鼠的游戏让大家建立起这样的信心:没错,即便我只掌握有限的C#知识,我 也能写一个比较有意思的程序。

    六. C#程序、解决方案的结构

    1. Hello World

    这堂课首先来学会如何新建一个C#程序,首先,打开VS,然后选择New->Project:

    image

    这个时候会出现如下的UI:

    在上图中,红色数字1、2、3、4、5处分别指的是:

    1,指的是我们要创建的应用程序的类型(也称之为项目类型,所以我们刚才的操作是:New->Projcet),这里我们选择的是我们要创建一个Windows程序;

    2,指的是我们选择要创建一个控制台程序(即项目类型为:控制台应用程序),即Console Application;

    3,指的是应用程序的名称(即当前这个控制台应用程序的名称),在这里,我个人觉得可能“Name”变成“Project Name”更有利于初学者识别该概念;

    4,就是咱们要创建的这个程序的路径了;

    5,要记住,每个项目,都会属于一个解决方案,在这里我们输入解决方案的名字。我们创建这个控制台应用程序(项目)的时候,VS会为我们自动创建一个解决方案。它们之间的关系是,项目属于解决方案,一个解决方案可以带多个项目。

    点击确定,VS就会为我们创建这个应用程序,如下:

    image

    我们输入一行代码:

      Console.WriteLine("Hello World!");

    (上图中红框处),然后我们运行起来,选择菜单中的:“Debug->Start Without Debugging”,当然,也可以使用快捷键“Ctrl+F5”:

    image

    运行起来的效果如下,即在Windows的控制台下输出“Hello World!”:

    image

    2.解决方案和工程是如何组织的

    上面,我们以最快速的方式让“Hello World”运行起来了,现在我们需要回过头来看看整个应用程序是如何被组织起来的。

    我们进行如下操作,在“解决方案名”上点右键,选择“Open Folder in File Explorer”:

    image

    这个时候,会打开解决方案在硬盘上的位置,如图:

    image

    这里面,最重要的就是上图红框中的两个实体,“MyFirstSolution.sln”代表的就是我们的解决方案,而 “MyFirstProject”代表的就是我们的控制台应用程序(项目),现在我们双击“MyFirstProject”,查看该文件夹里面,然后和 VS的界面比对一下:

    image

    顺着箭头,我们可以找到硬盘上的文件和VS中的文件一一对应的关系:

    Program.cs对应Program.cs;

    App.config对应App.config(应用程序配置文件,先不用管它);

    MyFirstProject.csproj对应VS中的项目“MyFirstProject”;

    除了上图中的箭头所指,上图中还有一个红框,在红框内的文件夹下,就放着我们生成的应用程序:MyFirstProject.exe。打开 Windows的控制台,把该文件拖到控制台中,运行之,跟我们在VS中使用“Debug->Start Without Debugging”效果是一样的。

    步骤1:

    image

    步骤2:

    image

    3. C#应用程序是如何被组织的

    上面我们写了“Hello World”这个程序,我们再回到这个界面:

    image

    我们需要在看看这个程序本身是如何被组织起来的,也就是说,我们运行这个应用程序,它的整个生命周期是怎么样,它所执行的第一行代码是什么,最后一行代码是什么。

    针对上图,我们给出如下结论:

    1:任何c#应用程序,都有唯一一个Main函数,它作为整个应用程序的入口;

    2:上图中的第12、14行代码就相当于是整个应用程序的第一行和最后一行代码;

    3:再复杂的应用程序,其实也就是把上图中的13行变成更复杂的代码而已;

    现在,让我们开始写一个稍微复杂一点,也稍微有点意思的程序:打老鼠,这也是我们这趟课程的第一个任务。

    不过,在这之前,我需要大家熟悉一个工具,从现在开始,我需要你通过该工具提交代码给我,同时我也要开始评审你的代码,同时给出我的意见了。

    4. 问题

    1:解决方案和项目的关系是什么?

    2:如何在VS中打开当前解决方案在硬盘上的位置?

    3:一个应用程序是否可以有多个Main函数?

    4:后缀名是slu的是什么文件?

    TMJ .NET在线培训”本节知识点:

    1:C#是什么,其历史

    2:用C#可以开发什么

    2:解决方案、项目

    2:C#程序的构成

    --------------------------------------

    欢迎您,进入 我系程序猿 的cnBlog博客。

    你不能改变你的过去,但你可以让你的未来变得更美好。一旦时间浪费了,生命就浪费了。

    You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.

    --------------------------------------

    分享到QQ空间  

  • 相关阅读:
    Core Animation 文档翻译—附录C(KVC扩展)
    Core Animation 文档翻译—附录B(可动画的属性)
    Core Animation 文档翻译—附录A(Layer样貌相关属性动画)
    Core Animation 文档翻译 (第八篇)—提高动画的性能
    Core Animation 文档翻译 (第七篇)—改变Layer的默认动画
    Core Animation 文档翻译 (第六篇)—高级动画技巧
    Core Animation 文档翻译 (第五篇)—构建Layer的层次结构
    用Markdown快速排版一片文章
    Core Animation 文档翻译 (第四篇)—让Layer的content动画起来
    Core Animation 文档翻译(第三篇)—设置Layer对象
  • 原文地址:https://www.cnblogs.com/jqmtony/p/2910829.html
Copyright © 2011-2022 走看看