C#图解教程总结(第二章)

  写在本文前面的话,最近一直在自学C#,视频看了不少,案例demo也敲了不少,但局限于新生事物的自然抗拒性,加上自律等各种因素吧,效果很差。本着有问题就找原因的思路,发现还是基础太差,被网上各种资料迷惑。所以才有了接下来的C#图解教程学习总结。打算以此书为地基,梳理、总结、扩展,以递归方式不断重复。

C#图解教程总结(第二章)

  • 2.1 一个简单的C#程序
  • 2.2 标识符和关键字
    • 2.2.1命名约定
    • 2.2.2 关键字
  • 2.3 Main
  • 2.4 空白
  • 2.5语句
  • 2.6 从程序中输出文本
    • 2.6.1 Write
    • 2.6.2 WriteLine
    • 2.6.3 格式字符串
    • 2.6.4 多重标记和值
  • 2.7 注释

2.1 一个简单的C#程序

using System;   //告诉编译器这个程序使用System命名空间的类型

namespace Simple //声明一个新命名空间,名称为Simple,新命名空间包括紧挨着的大括号内所有内容
{
	class Program   //声明一个新的类类型,名称为Program
	{
		static void Main()  // 声明一个名称为Main的方法作为类Program的成员
		{
			Console.WriteLine("hello world");// Main的方法体,只包含一个单独的语句
		}
	}
}

C#图解教程总结(第二章)_第1张图片

  • Main方法体中Console类是在System命名空间内,所以会在程序第一行添加using System。
  • Main是一个特殊函数,编译器用它作为程序的起始点。

2.2 标识符和关键字

定义:标识符是一种字符串,用来命名如变量、方法、参数和许多后面将要阐述的其他程序结构之类的东西。

使用规则

  • 字母和下划线(a-z、A-Z和_)可以用在任何位置
  • 数字不能放在首位,但可以放在其他的任何地方
  • @字符可以放在标识符的首位,但不能放在其他任何地方,虽然允许使用@字符,但不推荐作为常用字符。

标识符区分大小写,MYvar和myvar为不同的标识符

2.2.1命名约定

建议使用特定大小写约定创建标识符,比如Pascal大小写风格。

连续成标识符的每个单词都首字母大写,其余小写,比如ThreeNumber.

在成员字段命名中,有两个公共约定:

  • 字段名称以下划线开头:_HighTemp_LastTemp;
  • 字段名称以m_开头:m_HighTemp、m_LastName;

2.2.2 关键字

用来定义C#语言的字符串记号。

  • 关键字不能被用作变量名或任何气啊形式的标识符,除非以@字符开始

  • 所有C#关键字全部都由小写字母组成,但是.NET类型名使用Pascal大小写约定

C#图解教程总结(第二章)_第2张图片

上下文关键字是仅在特定的语言结构中充当关键字的标识符,但在其他地方代码,可以被当作标识符。
C#图解教程总结(第二章)_第3张图片

2.3 Main

每个C#程序必须有一个类带有Main方法(函数)。

每个C#程序的可执行起始点在Main中的第一条指令。

Main必须首字母大写

Main的最简单形式如下:

static void Main()
{
	更多语句
}

2.4 空白

程序中的空白指的是没有可视化输出的字符,空白字符包括:空格、制表符、换行符、回车符。

//很好的格式
Main()
{
	Console.WriteLine("Hello world");
}

//连在一起
Main(){Console.WriteLine("Hello XX");}

2.5语句

语句是描述一个类型或告诉程序去执行一个动作的一条源代码指令

简单语句以一个分号结束。

int val1 =5;
System.Console.WriteLine("Hello world, I am {0}",val1);

块是一个由成对大括号包围的0条或多条语句序列

{
	int val1 = 5;
	System.Console.WriteLine("The value of var1 is {0}",var1);
}
  • 有些特定的程序结构只能使用块,在这些结构中,不能用简单语句替代块
  • 虽然简单语句以分号结束,但块后面不跟分号

2.6 从程序中输出文本

控制台窗口是一种简单的命令提示窗口,允许程序显示文本并从键盘接收输入,BCL提供一个名称为Console的类。包括输入和输出数据到控制台窗口。

2.6.1 Write

Console类的成员,把一个文本字符发送到程序的控制台窗口

Console.Write("This is trivial text.");

//Write没有在字符串后面添加换行符,所以三条语句都输出到同一行
Console.Write("This is trivial text1.");
Console.Write("This is trivial text2.");
Console.Write("This is trivial text3.");

2.6.2 WriteLine

Console类的成员,和Write功能相同,但会在每个输出字符串的结尾添加一个换行符

System.Console.WriteLine("This is text 1.");
System.Console.WriteLine("This is text 2.");
System.Console.WriteLine("This is text 3.");

2.6.3 格式字符串

Write语句和WriteLine语句的常规形式中可以有一个以上的参数

//语法案例
Console.WriteLine(格式字符串(含替代标记),替换值0,替换值1,替换值2,....);

Console.WriteLine("Hello {0},Hello {1}.","xx","World");

2.6.4 多重标记和值

在C#中,替代标记和值的数量是任意的。

  • 值可以以任何顺序使用

  • 值可以在格式字符串中替换任意次

    Console.WriteLine("hello {0},hello {1},hello(1)","wolrd","xx");
    

标记不能试图引用替换值列表以外位置的值,如果引用了,不会产生编译错误。但会产生运行时错误。

Console.WriteLine("Hello {0},Hello {2}","xx","world");  //Error

2.7 注释

单行注释://

带分隔符注释:/* 注释内容 */。可以跨行‘。嵌套注释是不允许的

文档注释:/// 包括XML文本

//单行注释

/*
带分隔符注释第一行
带分隔符注释第二行
带分隔符注释第二行
*/

int  /*我是本行中注释的一部分*/ var2;

/*
带分隔符注释第一行
/*我是嵌套在带分隔符注释里面的又一个带分隔符注释,
但这样是不允许的,虽然不会报错*/
*/
    
 //文档注释
///
///This class does....
///
class Program
{
    ....
}

你可能感兴趣的:(C#,c#,.net,开发语言,C#图解教程)