C#7语法快速参考-第一章 Hello World
选择IDE
要开始使用C#编程,您需要一个支持微软.NET框架的集成开发环境(IDE)。最受欢迎的选择是微软自己的Visual Studio。初学可以使用Visual Studio Community,这个版本是一个轻量级免费的软件,可以从Visual Studio网站上下载(https://visualstudio.microsoft.com/zh-hans/vs/community/)。
自从2002年C# 1.0的首次发布以来,C#语言经历了多次更新。在撰写本文时,C# 7.3是当前版本,于2018年发布。该语言的每个版本对应于Visual Studio的一个版本,因此为了使用C# 7.3的特性,您需要Visual Studio 2017(版本15.7或更高)。
创建工程
在安装IDE之后,继续并启动它。然后您需要创建一个新项目,它将管理C#源文件和其他资源。要显示新项目窗口,请转到Visual Studio中的 “文件”-“新建”-“项目”。从那里选择左侧框架中的 “Visual c#”模板类型。然后在正确的框架中选择“控制台应用(.NET Framework)“模板。如果需要,可以在窗口底部配置项目的名称和位置。完成后,单击OK,项目向导将创建您的项目。
现在您已经创建了一个C#项目。在“解决方案资源管理器”窗格中(“视图”菜单-“解决方案资源管理器”),您可以看到项目由一个应该已经打开的C#源文件(.cs)组成。如果没有,你可以在解决方案资源管理器中点击文件以打开它。在源文件中有一些基本代码可以帮助您入门。但是,为了在这个阶段保持简单,可以继续简化代码如下。
namespace Chapter1
{
class Program
{
static void Main(string[] args)
{
}
}
}
这个应用程序现在由一个名为Program的类组成,其中包含一个返回值为空的Main方法,类和方法体都用大括号分隔。Main方法是程序的入口点,必须具有这种格式。大小写也需要注意,因为C#是区分大小写的。大括号分隔了属于代码实体(如类或方法)的内容,必须包含它们。大括号及其内容称为代码块,或仅仅称为块。
Hello World
就像学习其他新的编程语言一样,要编写的第一个程序是显示“Hello World”文本字符串的程序。这是通过在Main方法的大括号中添加以下代码来实现的。
System.Console.WriteLine("Hello World");
这行代码使用WriteLine方法,该方法接受由双引号分隔的单个字符串参数。方法位于System命名空间的Console类中。注意,点运算符(.)用于访问名称空间和类的成员。语句必须以分号结束,C#中的所有语句都必须以分号结束。您的代码现在应该是这样的。
namespace Chpater1
{
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine("Hello World!");
}
}
}
WriteLine方法在打印的字符串的末尾添加换行符。要显示没有换行符的字符串,可以使用Write方法。
IntelliSense(智能感应)
当在Visual Studio中编写代码时,一个名为IntelliSense的窗口会在有多个预先确定的选项可供选择的地方弹出。这个窗口非常有用,可以按Ctrl+Space手动打开。它使您能够快速访问您可以在程序中使用的任何代码实体,包括.NET框架的类和方法及其描述。这是一个非常强大的特性,您应该学会使用。另外一个小技巧就是可以在输入cw后按Tab键,直接写出Console.WriteLine();
在Visual Studio 中编译运行代码
编写完HelloWorld程序后,下一步是编译并运行它。为此,打开”调试”菜单并选择”开始执行(不调试)”,或者简单地按Ctrl+F5。然后Visual Studio将编译并运行应用程序,该应用程序将在控制台窗口中显示字符串”Hello World!”。
之所以不希望在这里选择”开始执行(不调试)”命令(F5),是因为一旦程序完成执行,控制台窗口将立即关闭。
命令行编译
如果你没有安装Visual Studio IDE,只要安装了.NET Framework,也可以通过命令和编译运行Hello World程序。按 Win+R输入cmd,打开cmd窗口,切换到源程序目录,如:D:\csharp\BasicCSharp\CSharpSeven\Chpter1,然后找.NET Framework安装目录下的csc.exe,一般位于C:\Windows目录下,如C:\Windows\Microsoft.NET\Framework64\v2.0.50727\csc.exe,在命令行中输入C:\Windows\Microsoft.NET\Framework64\v2.0.50727\csc.exe Program.cs ,即可编译程序。编译后,输入Program.exe,可以运行程序,如下图所示:
语言版本
Visual Studio中的项目默认情况下将使用该语言的最新主要版本(当前是c# 7.3)进行编译。要使用最新次要版本(C# 7.1、7.2和7.3)的最新特性,您需要更新项目的设置。为此,首先在“解决方案资源管理器”中右键单击项目节点并选择“Properties”。然后,单击左侧的“生成”选项卡,然后单击右下角的“高级”按钮。打开一个新的窗口,在这里您可以从下拉列表中改变语言版本。将选择项更改为C#最新小版本(最新)。单击OK,然后关闭Properties选项卡,您将启用C#的最新特性。
注释
注释用于将注释插入源代码中。C#使用标准的C++注释符号,包括单行注释和多行注释。它们只是为了增强源代码的可读性,对最终的程序没有影响。单行注释以//开头,一直延伸到行尾。多行注释可以跨越多行,由/*和*/分隔。
除此之外,还有两个文档注释。有一个单行文档注释以///开头,还有一个多行文档注释以/**和*/分隔。这些注释用于生成类文档
C#7语法快速参考-第一章 Hello World的更多相关文章
- jenkins2 pipeline 语法快速参考
jenkins2 pipeline中常用的语法快速参考. 文章来自:http://www.ciandcd.com文中的代码来自可以从github下载: https://github.com/ciand ...
- Razor 语法快速参考
Razor 语法快速参考 本文引自:http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx 语法名称 Raz ...
- Objective-C语法快速参考(C# 和 Objective-C 语法的比较)
大部分有一点其他平台开发基础的初学者看到XCode ,第一感想是磨拳擦掌,看到 Interface Builder 之后,第一感想是跃跃欲试,而看到Objective-C 的语法,第一感想就变成就望 ...
- Razor语法快速参考
语法/示例 Razor Web Forms对应写法或说明 代码块 @{ int x = 123; string y = "because.";} <% int x = 123 ...
- web前端学习python之第一章_基础语法(二)
web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- 学习笔记(一)--->《Java 8编程官方参考教程(第9版).pdf》:第一章到六章学习笔记
注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.违者本人不负法律责任.违法者自负一切法律责任. ...
- JAVA 入门第一章(语法基础)
本人初学java 博客分享记录一下自己的学习历程 java我的初步学习分为六章,有c和c++的基础学起来也简便了很多. 第一章 语法基础 第二章 面向对象 第三章 常用工具类 第四章 文件操纵 第五章 ...
- web前端学习python之第一章_基础语法(一)
web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- 第一章 –– Java基础语法
第一章 –– Java基础语法 span::selection, .CodeMirror-line > span > span::selection { background: #d7d4 ...
随机推荐
- UGUI 逻辑以及实用性辅助功能
UGUI 有它的实用性, 可是也存在理解上的困难, 因为它在面板上的显示内容根据布局而变动, 如果不深入理解它的设计原理, 估计每次要进行程序上的修改都需要进行一次换算和测试过程. 1. 设置某UI的 ...
- 《2019面向对象程序设计(java)课程学习进度条
周次 (阅读/编写)代码行数 发布博客量/评论他人博客数量 课余学习时间(小时) 学习收获最大的程序 阅读或编译让我 第一周 20/5 1/0 4 编译九九乘法表 第二周 100/10 2/0 5 第 ...
- opencv估计两图的三维坐标变换矩阵
cv::estimateAffine3D(MatFrom, MatTo, Transfrom, inlier); Transform得到的是重MatFrom到MatTo的变换矩阵.inlier给一个空 ...
- USACO Stamps
洛谷 P2725 邮票 Stamps https://www.luogu.org/problem/P2725 JDOJ 1797: Stamps 邮票 https://neooj.com:8082/o ...
- cf1208G Polygons 欧拉函数
链接 cf 给你两个正整数\(n\)和\(k\),询问在一个圆上你最少需要几个点构才能造出\(k\)个边数小于等于\(n\)的正多边形 思路 深受迫害,所以写的详细一点,不会请留言. 性质1 考虑加进 ...
- [LeetCode] 786. K-th Smallest Prime Fraction 第K小的质分数
A sorted list A contains 1, plus some number of primes. Then, for every p < q in the list, we co ...
- [LeetCode] 347. Top K Frequent Elements 前K个高频元素
Given a non-empty array of integers, return the k most frequent elements. Example 1: Input: nums = [ ...
- 责任链模式Scala的7种实现
责任链模式是经典的GoF 23种设计模式之一,也许你已经了解这种模式.不管你是否熟悉,建议读者在阅读本文之前,不妨先思考下面三个问题: (1) 如何用多种风格迥异的编程范式来实现责任链模式? (2) ...
- ApartmentState.STA
需要设置子线程 ApartmentState 为 STA 模式,但 Task 又不能直接设置 ApartmentState,因此需要用 Thread 来封装一下. using System.Threa ...
- 关于DataTable内部索引已损坏的问题 System.Data.RBTree
1.错误提示: 最近,Winform程序在极其偶然的情况下会遇到如下错误提示 Framework 版本: v4.0.30319 说明: 由于未经处理的异常,进程终止. 异常信息: System.Inv ...