一. 本课程所面向的对象

从今天起,我们开始《零基础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#可以开发什么样的程序:

首先,左上角,使用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点:

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

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

1. Hello World

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

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

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

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

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

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

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

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

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

我们输入一行代码:

  Console.WriteLine("Hello World!");

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

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

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

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

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

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

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

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

Program.cs对应Program.cs;

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

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

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

步骤1:

步骤2:

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

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

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

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

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#程序的构成

转载于:https://www.cnblogs.com/jqmtony/archive/2013/02/13/2910829.html

C# 在线培训之零基础入门 01:开篇及C#程序、解决方案的结构相关推荐

  1. 数据结构和算法_零基础入门01

    数据结构和算法_零基础入门01 一.数据结构是什么? 逻辑结构.物理结构 二.算法 算法的五个基本特征 算法设计的要求 b站学习小甲鱼的数据结构与算法,自留笔记. 程序设计=数据结构+算法 一.数据结 ...

  2. 微信小程序零基础入门_第一章 小程序和开发者工具的介绍

    第一章 小程序和开发者工具的基本介绍 1.1 小程序的开发工具 微信小程序的开发者需要先通过微信公众平台注册开发者账号.在微信公众平台网页中的账号分类->小程序中有着较为详细的注册介绍,可以较为 ...

  3. 零基础入门学习python笔记-day1:程序开发谋定而后动

    流程图 更复杂的开发需要用到思维导图哦~ 思维导图侧重于设计,流程图更侧重于实现. 学习资料:小甲鱼零基础入门学习python https://www.bilibili.com/video/BV1c4 ...

  4. 微信小程序零基础入门_第二章 小程序框架_逻辑层

    第二章 小程序框架_逻辑层 2.1 逻辑层 小程序开发框架的逻辑层是基于JavaScript进行编写和实现的.在开发过程中写的所有代码,最终都被整合成一份JavaScript,在小程序启动的时候开始执 ...

  5. Python零基础入门01【计算机基础和环境搭建】

    01–计算机基础和环境搭建 目标:了解计算机基础知识并完成Python的环境搭建 概要: 计算机基础 编程的本质 Python的介绍 Python环境搭建 1.计算机基础 1.1基本概念 计算机的组成 ...

  6. android 循环输出字母,042 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 04 案例演示while循环的使用——循环输出英文字母...

    NOIP2015跳石头[二分答案] 题目背景 一年一度的"跳石头"比赛又要开始了! 题目描述 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选 择好了两块岩 ...

  7. PHP工程师零基础入门到就业班

    ├─01.PHP小白零基础入门 │  ├─01.步骤一:网页搭建入门 │  │  ├─01 html │  │  │      1-1 html准备工作.mp4 │  │  │      1-2 选择 ...

  8. web前端零基础入门(一)

    web前端零基础入门 01. 网页简介 02. 网页简史 03. HTML简介 04. 编写第一个网页 06. 安装notepad++ 07. 自结束标签和注释 07. 标签中的属性 08. 文档声明 ...

  9. Arduino UNO新手零基础入门学习教程博客汇总

    写在开头 最近在上Arduino的课,可以说Arduino对新手来说非常友好了,因为相比于51和32,Arduino的库函数下载就好,不需要自己去写,就很方便 我的硬件设备 这个是学校提供的硬件设备, ...

最新文章

  1. Java中String类的方法及说明
  2. 趣链 BitXHub跨链平台 (4)跨链网关“初介绍”
  3. js javaScript array 取指定元素索引、判断是否相同、重复、过滤数据
  4. Docker自动构建开发测试平台
  5. NLP 《隐式马尔科夫链》
  6. devops_DevOps专业人员如何成为安全冠军
  7. 解决 网上下载的例子 My Mac 64-bit 不能运行的问题
  8. android抽屉效果
  9. 黑暗星空中的秘密——《黑暗森林》简评
  10. java开学考试感想及代码
  11. 云大计算机初试最高分,【经验谈】初试总分360+,专业排名前五!云大社会工作专......
  12. (C语言设计系统)利用EasyX完成学校工资管理系统
  13. 全国计算机三级嵌入式 - 题库 - 真题(含答案) - 未来教育 - 视频讲解 - 资料获取
  14. Android 画布使用之电子签名
  15. 【计算机网络笔记1】计算机网络和因特网
  16. VUE DIFF算法之双端DIFF
  17. 优秀logo设计解析_40+给你灵感的优秀LOGO设计作品
  18. 统计学知识梳理(四)线性回归、卡方分布与方差分析
  19. 疫情好转,宅在家几个月,历经几个月的投简历、视频面试,突然收到(余额宝)视频面试,四面成功拿下offer
  20. 基本初等函数导数以及推导过程

热门文章

  1. js 数组的属性及其常用的方法
  2. (进阶)LeetCode(119)——杨辉三角 II(JavaScript)
  3. ★LeetCode(1025)——除数博弈(JavaScript)
  4. LeetCode(804)——唯一摩尔斯密码词(JavaScript)
  5. 计算机网络学习(九)—应用层的概述
  6. 力扣 有序数组的平方
  7. 一个月工资6500,一年存了五万左右,算节省吗?
  8. 抱团股大跌,亏了谁的钱?
  9. 你怎么看待中国石油上市以来的表现?
  10. 2021年是“三蛇闹春,十鼠抢粮,十一牛耕田”,啥意思?