C#程序结构 基本语法

在学习 C# 编程语言的基本构建块之前,先来看一下最简单的 C# 程序结构,以便将其作为即后续章节的学习参考。

创建Hello World程序

这个简单的 C# 程序由以下部分组成:

  • 命名空间声明
  • 一个类
  • 类方法
  • 类属性
  • 主(Main)方法
  • 声明和表达
  • 注释

下面让我们来看一个打印“Hello World”的简单代码:

using System;
namespace HelloWorldApplication{
   class HelloWorld{
      static void Main(string[] args){
         /* my first program in C# */
         Console.WriteLine("Hello World");
         Console.ReadKey();
      }
   }
}

Scala

当编译和执行这段代码时,它产生以下结果:

Hello World

Scala

下面来看看给定的示例程序的各个部分:

  • 程序的第一行using System; - using关键字用于在程序中包含System命名空间。程序中通常有多个using语句。
  • 第二行是命名空间(namespace)声明。namespace是类的集合。 HelloWorldApplication命名空间包含HelloWorld类。
  • 第三行是一个类声明,HelloWorld类包含程序使用的数据和方法定义。类通常包含多种方法。方法定义类的行为。 但是这定义的HelloWorld类只有一个Main方法。
  • 第四行定义了Main方法,它是所有 C# 程序的入口点。Main方法执行该类的操作。
  • 第五行是只是一个程序代码注释,编译器忽略代码中的/*...*/之间的内容。
  • 第六行是Main方法的具体功能实现,这里只是使用语句Console.WriteLine(“Hello World”)指定其行为;
  • WriteLine是在System命名空间中定义的Console类的一个方法。此方法将消息“Hello, World!”显示在屏幕上。
  • 最后一行Console.ReadKey();是用于使程序等待按键,并且当从Visual Studio .NET启动程序时,它可以防止屏幕快速运行和关闭。

需要注意的是:

  • C# 区分大小写。
  • 所有语句和表达式必须以分号(;)结尾。
  • 程序执行从Main方法开始。
  • 与Java不同,程序文件名可以与类名不同。

编译和执行程序

如果使用Visual Studio.Net编译和执行 C# 程序,请执行以下步骤:

  • 启动Visual Studio。
  • 在菜单栏上,选择文件 -> 新建 -> 项目
  • 从模板中选择Visual C# ,然后选择Windows
  • 选择控制台应用(Console Application)。
  • 指定项目的名称,然后单击确定(Ok)按钮。
  • 这将在解决方案资源管理器(Solution Explorer)中创建一个新项目。
  • 在代码编辑器中编写代码。
  • 单击启动按钮或按F5键执行项目。将出现一个包含"Hello World"行的命令提示符窗口。

可以使用命令行(而不是Visual Studio IDE)来编译 C# 程序:

  • 打开文本编辑器并添加上述代码。
  • 将文件保存为helloworld.cs
  • 打开命令提示符工具,并转到保存文件的目录。
  • 键入csc helloworld.cs,然后按Enter键编译代码。
  • 如果您的代码没有错误,命令提示符将转到下一行并生成helloworld.exe可执行文件。
  • 键入helloworld来执行你的程序。
  • 这时可在屏幕上看到输出的"Hello World"字符串了。

//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/csharp/csharp_program_structure.html
 

C# 是面向对象的编程语言。在面向对象编程方法中,程序由通过动作相互交互的各种对象组成。 对象可能采取的操作称为方法。具有相同类型的对象认为是相同的类型,或者说是在同一个类。

例如,假设有一个Rectangle对象。 它有长度(length)和宽度(width)的属性。 根据设计,它可能需要接受这些属性的值,计算面积和显示细节的方法。

下面我们来看看Rectangle类是如何实现上述功能,并以此学习 C# 的基本语法:

using System;
namespace RectangleApplication
{
   class Rectangle 
   {
      // member variables
      double length;
      double width;
      public void Acceptdetails()
      {
         length = 10.0;    
         width = 20.1;
      }

      public double GetArea()
      {
         return length * width; 
      }

      public void Display()
      {
         Console.WriteLine("Length: {0}", length);
         Console.WriteLine("Width: {0}", width);
         Console.WriteLine("Area: {0}", GetArea());
      }
   }

   class ExecuteRectangle 
   {
      static void Main(string[] args) 
      {
         Rectangle r = new Rectangle();
         r.Acceptdetails();
         r.Display();
         Console.ReadLine(); 
      }
   }
}

C#

当编译和执行上述代码时,会产生以下结果:

Length: 10.0
Width: 20.1
Area: 201

Shell

using关键字

任何 C# 程序中的第一个语句一般是:

using System;

C#

using关键字用于在程序中包含命名空间。程序可以包括多个using语句。

class关键字

class关键字用于声明一个类。

C# 中的注释

注释用于解释代码。编译器忽略注释中的任何内容。 C# 程序中的多行注释以/*开始,并以*/结尾,如下所示:

/* This program demonstrates
The basic syntax of C# programming 
Language */

C#

单行注释由“//”符号表示。 例如,

}//end class Rectangle
// 另一个行注释

C#

成员变量

变量是用于存储类的属性或数据成员的数据。在前面的程序中,Rectangle类有两个名为lengthwidth的成员变量。

成员函数

函数是执行特定任务的语句集合。类的成员函数在类中声明。我们的示例类Rectangle包含三个成员函数:AcceptDetailsGetArea和Display

实例化类

在上述程序中,ExecuteRectangle类包含Main()方法,并实例化了一个Rectangle类的实例:r

标识符

标识符是用于标识类,变量,函数或任何其他用户定义项目的名称。 C# 中命名类的基本规则如下:

  • 名称必须以字母开头,后面可以有一系列字母,数字(0 - 9)或下划线(_)。 标识符中的第一个字符不能为数字。
  • 它不能包含任何嵌入的空格或符号,如:?, -, +, !,@,#, %, ^, &, *, (, ), [, ], {, }, ., ;, :, ", ',/\。但是,可以使用下划线(_)。
  • 它不能是 C# 关键字。

C# 关键字

关键字是预定义为 C# 编译器的保留字。 这些关键字不能用作标识符。 但是,如果要使用这些关键字作为标识符,但可以使用@字符将关键字前缀来表示某一标识符。

在 C# 中,一些标识符在代码的上下文中具有特殊意义,例如getset被称为上下文关键字。

下表列出了 C# 中的保留关键字和上下文关键字:

保留关键字

abstractasbaseboolbreakbytecase
catchcharcheckedclassconstcontinuedecimal
defaultdelegatedodoubleelseenumevent
explicitexternfalsefinallyfixedfloatfor
foreachgotoifimplicitinin (generic modifier)int
interfaceinternalislocklongnamespacenew
nullobjectoperatoroutout (generic modifier)overrideparams
privateprotectedpublicreadonlyrefreturnsbyte
sealedshortsizeofstackallocstaticstringstruct
switchthisthrowtruetrytypeofuint
ulonguncheckedunsafeushortusingvirtualvoid
volatilewhile-----

上下文关键字

addaliasascendingdescendingdynamicfromget
globalgroupintojoinletorderbypartial (type)
partial(method)removeselectset---

//原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/csharp/csharp_basic_syntax.html#article-start
 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangchuang2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值