一、编写第一个C#程序——Hello World
1. 启动Microsoft Visual Studio 2010。
2. 点击“文件”菜单,选择“新建”项,在弹出的子菜单中选择“项目”命令。
3. 弹出“新建项目”对话框。
4. 在“最近的模板”下面点击“Visual C#”项,在中间的“模板”窗口中选择“控制台应用程序”项,在底部“名称”文本框中输入项目名称“HelloWorld”,点击“浏览”按钮,选择项目保存的位置“F:\VStudio2010\”。
5. 点击“确定”按钮,弹出下面的“HelloWorld”窗口:
6. 在static void Main(string[] args)
{下面添加如下的代码(以“//”开头的是注释):
// 第一个C#程序Hello World -
// Console类位于System命名空间,表示控制台应用程序的标准输入流、输出流和错误流
// Console.WriteLine方法将指定的数据(后跟当前行终止符)写入标准输出流
// Console.ReadLine方法使程序暂停下来,直到按下回车键才会继续运行
Console.WriteLine("Hello World!");
Console.ReadLine();
7. 添加好代码的窗口如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
// 第一个C#程序Hello World -
// Console类位于System命名空间内,表示控制台应用程序的标准输入流、输出流
// 和错误流
// Console.WriteLine方法将指定的数据(后跟当前行终止符)写入标准输出流
// Console.ReadLine方法使程序暂停下来,直到按下回车键才会继续运行
Console.WriteLine("Hello World!");
Console.ReadLine();
}
}
}
注释可以省略!
8. 选择“文件”菜单,点击“全部保存”命令,或者按下Ctrl+Shift+S快捷键,保存所有文件。
9. 选择“调试”菜单,点击“启动调试”命令,或者按下F5键,运行程序。
10. 运行结果如下:Hello World!
11. 按下回车键(Enter),结束程序的运行。
至此,第一个C#程序——Hello World编写成功!
二、代码分析
C#语言的程序结构包括程序、命名空间、类型、成员和程序集。
?程序:C#程序包含一个或多个源文件。每一个C#程序由一个或多个类组成。所有的C#程序都必须封装在某个类中。
?命名空间:程序中声明的类型、类型中包含的成员都能够被组织到命名空间中。
?类型:类和接口是类型的例子。
?成员:字段、方法、属性和事件是成员的例子。
?程序集:程序集的文件扩展名一般是.exe(应用程序)或者.dll(类库)。当C#程序被编译时,它们会被打包到程序集中。
1. 导入命名空间

using System; // 命名空间
using System.Collections.Generic; // 子命名空间
using System.Linq; // 子命名空间
using System.Text; // 子命名空间
上述代码使用using指令导入命名空间,以便使用类型而不用再指定命名空间。编译器会在using指令指定的命名空间中查找没有在当前命名空间中定义,但是在代码中引用的类。
就是说,类必须位于命名空间中。要么它在导入的命名空间中;要么它在当前的命名空间中定义。
在Program.cs文件中使用using的原因是下面要使用一个库类System.Console。using System指令允许把这个类简写为Console。几乎所有的C#程序都使用System命名空间中的类,所以所有的代码文件都包含有using System;语句。
2. 声明命名空间

namespace HelloWorld
{
}
使用namespace关键字声明了一个命名空间范围。其后花括号中的所有代码都被认为是在这个命名空间中。
3. 命名空间的总结
命名空间有两种,一种是系统命名空间,一种是用户自定义命名空间。
一个源程序文件中可以包含多个命名空间;同一命名空间可以在多个源程序文件中定义。命名空间可以嵌套。同一命名空间中不允许定义重名的类型(类或者方法等)。
同名的两个类如果在不同的命名空间中,相互之间是不会混淆的。
1)命名空间的引用:
using 命名空间名称;一般写在源文件的最前面。
2)命名空间的声明:

namespace 命名空间名称
{
}
3)在程序中访问其它命名空间中的方法:
<Namespace>[.<Subnamespace>].类型例如:
System.Console.WriteLine("edu.南方网景");在这里,C#用点“.”操作符表示了语句的从属关系。
?System:命名空间
?Console:类
?WriteLine:方法
4. 声明类
class Program
{
}
使用class关键字声明一个类,类的名称为Program。因为该类位于HelloWorld命名空间中,所以该类的完整名称应该是HelloWorld.Program。
类的声明包括class关键字,后面是类名和一对花括号。与类相关的所有代码都应放在这对花括号中。
5. 声明Main方法

static void Main(string[] args)
{
// 应用程序功能代码实现位置
}声明类的Main方法:
?static:返回值的类型。
?void:返回值。
?Main:方法名称。
?string[] args:“Main”方法的参数。这是一个字符串数组。
“Main”方法是每一个C#应用程序的入口,C#要求每个程序必须且只能有一个“Main”方法,“Main”方法必须放在任意一个类中。对于被调用的“Main”方法来说,它所在的类不需要被实例化。
如果有多个“Main”方法,编译器就会返回一个错误!
“Main”方法的声明与结构如下:
方法一:不带参数,返回void

static void Main()
{
// ...
}
方法二:不带参数,返回int

static int Main()
{
// ...
return 0;
}
方法三:带参数,返回void

static void Main(string[] args)
{
// ...
}
方法四:带参数,返回int

static int Main(string[] args)
{
// ...
return 0;
}
6. 语句

Console.WriteLine("Hello World!");
Console.ReadLine();上面的代码调用了System.Console类的WriteLine()方法和ReadLine()方法。
语句就是C#应用程序中执行操作的指令。C#中的语句必须用分号“;”结束。可以在一行中书写多条语句,也可以将一条语句书写在多行上。
7. 花括号语法
在C#中,花括号“{”和“}”是一种范围标志,是组织代码的一种方式,用于标识应用程序中逻辑上有紧密联系的一段代码的开始与结束。
花括号可以嵌套,以表示应用程序中的不同层次。
8. C#注释
C#注释分为两种:单行注释和多行注释。
1)单行注释
用两个正斜线来表示“//”:
// 右边的文字都是注释,直到一行结束。在“//”的后面不能使用反斜杠“\”。
2)多行注释
以“/*”开始,以“*/”结束:
/* 这是
多行
注释
......
*/多行注释不能嵌套,即在分割符“/*”和“*/”之间不能再有分割符。
3)文档注释
在Visual Studio的开发工具中,目前只有C#编译器能够将注释转换成XML文件。方法是使用“///”符号。只要加上这个注释符号和代表XML元素的标记,就可以将注释转换成XML文件。所以文档注释又可以称为XML注释。
比如:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace HelloWorld
{
/// <summary>
/// 生成XML注释文件范例
/// </summary>
class Program
{
/// <summary>
/// Program类,打印Hello World!
/// </summary>
/// <param name="args">命令行参数</param>
static void Main(string[] args)
{
// Console类位于System命名空间内,表示控制台应用程序的标准输入流、输出流
// 和错误流
// Console.WriteLine方法将指定的数据(后跟当前行终止符)写入标准输出流
// Console.ReadLine方法使程序暂停下来,直到按下回车键才会继续运行
Console.WriteLine("Hello World!");
Console.ReadLine();
}
}
}注意:定义的XML元素一定要遵守XML的格式。如果编译成功,我们就可以找到HelloWorld.XML文件。
附:在Visual Studio 2010中设置生成XML注释文件的步骤:
以项目HelloWorld为例,点击“项目”菜单,选择“HelloWorld 属性”命令。如下图所示:
选择“HelloWorld 属性”命令
选择“HelloWorld 属性”命令
打开“HelloWorld”窗口。如下图所示:
“HelloWorld”窗口
“HelloWorld”窗口
在左边点击“生成”项,在右边选择“XML文档文件”项即可。XML文件名会自动填写,当然也可以自行修改。

第一个C#程序Hello World的更多相关文章

  1. DirectX游戏编程(一):创建一个Direct3D程序

    一.环境 Visual Studio 2012,DirectX SDK (June 2010) 二.准备 1.环境变量(如没有配置请添加) 变量名:DXSDK_DIR 变量值:D:\Software\ ...

  2. 第一个python程序

    一个python程序的两种执行方式: 1.第一种方式是通过python解释器: cmd->python->进入python解释器->编写python代码->回车. 2.第二种方 ...

  3. 编写第一个MapReduce程序—— 统计气温

    摘要:hadoop安装完成后,像学习其他语言一样,要开始写一个“hello world!” ,看了一些学习资料,模仿写了个程序.对于一个C#程序员来说,写个java程序,并调用hadoop的包,并跑在 ...

  4. 1.3 第一个C#程序

    几乎没一门编程语言的第一个程序都叫“你好,世界”,所以先在visual studio 中创建一个Helloworld程序. 各部分的详细内容: Main方法是程序运行的起点,最重要的代码就写在Main ...

  5. 一个.net程序员的安卓之旅-Eclipse设置代码智能提示功能

    一个.net程序员的安卓之旅-代码智能提示功能 过完年回来就决心开始学安卓开发,就网上买了个内存条加在笔记本上(因为笔记本原来2G内存太卡了,装了vs2010.SQL Server 2008.orac ...

  6. MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(02)

    1.3.1 应用程序对象 MFC应用程序的核心就是基于CWinApp类的应用程序对象,CWinApp提供了消息循环来检索消息并将消息调度给应用程序的窗口.当包含头文件<afxwin.h>, ...

  7. Go! new Hello World, 我的第一个Go程序

    以下语句摘自百度百科: Go语言是谷歌2009发布的第二款开源编程语言. Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全.支持并行进 ...

  8. 搭建java开发环境、使用eclipse编写第一个java程序

    搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...

  9. 第一个ruby程序

    老实说不是很喜欢去讨论ruby和python的对比,似乎总是把两个语言放在对立的位置上,我觉得没有必要,同样是动态语言,同样是解释型脚本语言,很多特性都是互相影响的,语言本身也在不断进化,我们更应该关 ...

  10. Android Studio新建一个HelloWorld 程序(App)

    Android Studio新建一个HelloWorld程序(App) 新建 或者直接启动程序(注:如果已有程序,此方法会直接打开最近一次关闭从程序) 更改App名 选择App运行平台 选择模板 更改 ...

随机推荐

  1. KEIL中头文件使用配置向导

    在xxx.h头文件的代码中夹杂的“<h>      </h>”.“<o>”“<i>”.“<c1>   </c>”和“<e& ...

  2. Naive Operations

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6315 学习博客:https://blog.csdn.net/SunMoonVocano/article ...

  3. 执行ORACLE SQL时如何 忽略替换变量(转载)

    你想在SQL*Plus里执行一个脚本,脚本里包含了一些看起来像替换变量的元素,但实际上你并不是想把它们当替换变量来处理.这时你想让解析器忽略它们而不是提示用户输入.解决方案1有一种解决方案就是在&am ...

  4. stm32 独立看门狗学习

    STM32F10xxx内置两个看门狗,提供了更高的安全性.时间的精确性和使用的灵活性.两个看门狗设备(独立看门狗和窗口看门狗)可用来检测和解决由软件错误引起的故障. 独立看门狗(IWDG)由专用的低速 ...

  5. spring的IOC和AOP详细讲解

    1.解释spring的ioc? 几种注入依赖的方式?spring的优点? IOC你就认为他是一个生产和管理bean的容器就行了,原来需要在调用类中new的东西,现在都是有这个IOC容器进行产生,同时, ...

  6. Unity C# 使用JsonUtility读写Json文件

    本文原创,转载请注明出处:http://www.cnblogs.com/AdvancePikachu/p/7146731.html 今天,为大家分享一下unity上的Json序列化,应该一说到这个词语 ...

  7. 构建web应用

    一.web服务器示例 var http = require('http'); http.createServer(function(req, res){ res.writeHeader(200, {C ...

  8. POS开发问题 - 输入非数字弹出提示框的实现

    业务场景: 一个输入框,如果输入非数字,那么弹出提示框,如下图 点击确定,输入框自动清空非数字的输入,并且自动获得焦点,如图: 实现方案: 实现的想法: 给输入框添加一个 input 事件,给输入框绑 ...

  9. 电路中GND和GROUND、VCC,VDD,VEE,VSS

    电路解析:GND和GROUND.VCC,VDD,VEE,VSS 参考: http://www.elecfans.com/dianzichangshi/20160822432514.html 一.解释版 ...

  10. Springboot中SpringMvc拦截器配置与应用(实战)

    一.什么是拦截器,及其作用 拦截器(Interceptor): 用于在某个方法被访问之前进行拦截,然后在方法执行之前或之后加入某些操作,其实就是AOP的一种实现策略.它通过动态拦截Action调用的对 ...