C#学习笔记二:C#程序结构

从最简单的HelloWorld开始入手,这是一个最低限度的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();
      }
   }
}

编译和运行上面的程序,这将产生以下结果:

Hello World

接下来看看上面的程序的各个部分:

  • using System; 是程序的第一行; using关键字用来包含在程序中的系统命名空间。一个程序通常有多个using语句(应该和java语言的import功能类似,导入类库)。
  • 下一行有命名空间(namespace )声明。命名空间(namespace )是类的集合。HelloWorld应用程序命名空间包含类HelloWorld(java没有命名空间的说法)。
  • 下一行有一个类声明,类HelloWorld包含的数据和程序使用方法定义。类一般包含一个以上的方法。方法定义类的行为。然而HelloWorld类只有一个方法为Main。
  • 下一行定义了Main方法,它是所有C#程序的入口点。 Main方法规定类什么的时候执行
  • 下一行/*...*/会被编译器被忽略,它已被放置到程序添加附加注释。
  • Main方法指定的声明其行为 Console.WriteLine("Hello World");

    WriteLine是在System命名空间中定义的Console类的方法。此语句会打印消息“Hello, World!” 显示在屏幕上。

  • 最后一行Console.ReadKey(); 对于VS.NET用户。这使得程序等待一个按键,它可以防止屏幕运行时从Visual Studio .NET启动后迅速关闭程序。

这是值得要注意以下几点:

  • C# 是区分大小写的
  • 所有陈述和表达必须以分号结束 (;)
  • 程序开始从Main方法执行
  • 不像Java,C#中文件名可以与类名称不同

编写C#代码

方式一:使用IDE工具

本人使用的是visual Studio,所以编译和执行C#程序将采取以下步骤:

  • 启动Visual Studio.
  • 在菜单栏,选择 File, New, Project.
  • 选择Visual C#中的模板。
  • 选择控制台应用程序。
  • 为项目指定一个名称,然后选择确定按钮。
  • 新项目将出现在解决方案资源管理器。
  • 编写代码,在代码编辑器。
  • 点击运行按钮或F5键运行该项目。出现一个命令提示符窗口,其中包含Hello World该行。
方法二:使用文本编辑器,使用命令行编译

可以通过使用命令行,而不是在Visual Studio IDE编译C#程序:

  • 打开文本编辑器,并添加上述代码。
  • 将文件另存为 Helloworld.cs
  • 打开命令提示符工具并转到目录中保存文件。
  • 输入csc HelloWorld.cs,然后按回车编译代码。
  • 如果在代码中没有错误,命令提示符将带到下一行,并会生成 HelloWorld.exe 的可执行文件。
  • 接下来,输入HelloWorld执行程序。
  • 将可以看到“Hello World”字样在屏幕上。

编译前:

编译后:

点击HelloWorld.exe或者在命令行处输入HelloWorld,都将会打印出Hello World

时间: 2024-10-12 23:38:35

C#学习笔记二:C#程序结构的相关文章

Android 学习笔记 4 安卓程序结构及重要的程序文件

在创建一个Android程序时,ADT会自动创建一些目录和文件.这些目录和文件有固定的作用.我们的项目一般是在这些文件中进行修改和添加.因此,了解这些文件和目录,对Android开发有着非常重要的作用. 这些目录和文件有其固定的作用,有的允许修改,有的不能修改. 5个较为重要的文件夹src.gen.assets.bin和res. src目录是源代码目录,所有允许用户修改的java文件和添加的java文件都保存在这个目录中 . 在这里,HelloAndroid工程建立初期,ADT根据工程向导中的“

java之jvm学习笔记十三(jvm基本结构)

java之jvm学习笔记十三(jvm基本结构) 这一节,主要来学习jvm的基本结构,也就是概述.说是概述,内容很多,而且概念量也很大,不过关于概念方面,你不用担心,我完全有信心,让概念在你的脑子里变成图形,所以只要你有耐心,仔细,认真,并发挥你的想象力,这一章之后你会充满自信.当然,不是说看完本章,就对jvm了解了,jvm要学习的知识实在是非常的多.在你看完本节之后,后续我们还会来学jvm的细节,但是如果你在学习完本节的前提下去学习,再学习其他jvm的细节会事半功倍. 为了让你每一个知识点都有迹

Linux System Programming 学习笔记(二) 文件I/O

1.每个Linux进程都有一个最大打开文件数,默认情况下,最大值是1024 文件描述符不仅可以引用普通文件,也可以引用套接字socket,目录,管道(everything is a file) 默认情况下,子进程会获得其父进程文件表的完整拷贝 2.打开文件 open系统调用必须包含 O_RDONLY,O_WRONLY,O_RDWR 三种存取模式之一 注意 O_NONBLOCK模式 int fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644

linux学习笔记二:linux文件系统

各大linux的版本都遵循着FHS(Filesystem Hierarchy Standard)文件系统目录标准,是一个树形结构的组织文件.在此简要记录各目录. linux下所有文件都处在/文件下. 树形结构图: /boot:  系统启动相关的文件 主要文件 1.vmliunx:内核    2.initramfs:磁盘映像文件   3.grub(bootloader) /dev:设备文件 块设备:随机访问设备. 字符设备:线性设备,顺序访问.按字符为单位.键盘.鼠标. 设备号:主设备号(majo

Objective-c 学习笔记(二)

面向对象编程(一) 面向过程编程 c语言便是一种面向过程编程的语言.举一段程序代码来更加深刻的认识面向过程. 绘制集合图形: // // main.m // oc // // Created by Tron on 14-8-8. // Copyright (c) 2014年 Tron. All rights reserved. // #import <Foundation/Foundation.h> typedef enum { circle, rectangle, egg } ShapeTy

hadoop学习笔记(二)

hadoop学习笔记(二) 我的个人博客站点地址:孙星的个人博客主页 后续的学习笔记:hadoop学习笔记 hadoop单节点的搭建 下载hadoop: wget http://apache.fayea.com/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz tar -zxvf hadoop-2.7.1.tar.gz 解压配置免密码登陆: //生成秘钥 ssh-keygen -t rsa //一直回车,在当前目录中会出现2个文件,一个是公钥,一个是私

2. 蛤蟆Python脚本学习笔记二基本命令畅玩

2. 蛤蟆Python脚本学习笔记二基本命令畅玩 本篇名言:"成功源于发现细节,没有细节就没有机遇,留心细节意味着创造机遇.一件司空见惯的小事或许就可能是打开机遇宝库的钥匙!" 下班回家,咱先来看下一些常用的基本命令. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48092873 1.  数字和表达式 看下图1一就能说明很多问题: 加法,整除,浮点除,取模,幂乘方等.是不是很直接也很粗暴. 关于上限,蛤蟆不太清楚

小猪的数据结构学习笔记(二)

小猪的数据结构学习笔记(二) 线性表中的顺序表 本节引言: 在上个章节中,我们对数据结构与算法的相关概念进行了了解,知道数据结构的 逻辑结构与物理结构的区别,算法的特性以及设计要求;还学了如何去衡量一个算法 的好坏,以及时间复杂度的计算!在本节中我们将接触第一个数据结构--线性表; 而线性表有两种表现形式,分别是顺序表和链表;学好这一章很重要,是学习后面的基石; 这一节我们会重点学习下顺序表,在这里给大家一个忠告,学编程切忌眼高手低,看懂不代表自己 写得出来,给出的实现代码,自己要理解思路,自己

JavaScript--基于对象的脚本语言学习笔记(二)

第二部分:DOM编程 1.文档象模型(DOM)提供了访问结构化文档的一种方式,很多语言自己的DOM解析器. DOM解析器就是完成结构化文档和DOM树之间的转换关系. DOM解析器解析结构化文档:将磁盘上的结构化文档转换成内存中的DOM树 从DOM树输出结构化文档:将内存中的DOM树转换成磁盘上的结构化文档 2.DOM模型扩展了HTML元素,为几乎所有的HTML元素都新增了innerHTML属性,该属性代表该元素的"内容",即返回的某个元素的开始标签.结束标签之间的字符串内容(不包含其它