面对未来,你值得拥有的C#基础(1)

前言:学习笔记,本文在逐步完善中。

一,第一个C#程序

下载vs2019或VS2017,虽然需要密钥,但是你可以百度啊

启动VS2019,点击“ 创建新项目(N) ”,步骤如图所示:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//前五行是自动生成的代码,引用默认的命名空间
namespace ConsoleApp1  //自动生成的命名空间,该命名空间的名称默认与创建的项目名称相同,
								//开发人员可手动修改
{
    class Program	//自动生成的Program类,该类是C#程序的启动类,可以手动修改
    {				
        static void Main(string[] args)  // 自动生成的Main方法,用来作为程序的主入口方法
        									//每个C#程序都必须有一个Main()方法
        {
            Console.WriteLine("Hello World"); //Console.WriteLine方法主要向控制台输出文本
            Console.ReadLine();	//Console.ReadLine方法主要用来获取控制台的输出内容
            					//这里用来将控制台窗体定位在桌面上,
            					//可以试试注释掉这一行,运行一下看看效果,你会看到控制台一闪而过
        }
    }
}

二,C#程序结构预览

在这里插入图片描述

(1) 命名空间

C#程序的命名空间就像是一个包含不同类型物品的仓库,而using指令就好比一把钥匙,命名空间的名称就好比是仓库的名称,用户可以通过钥匙打开指定名称的仓库,进而从仓库中获取所需要的物品。
如果要调用某个命名空间中的类或方法,首先需要使用using指令引入命名空间,这样,就可以直接使用该命名空间中所包含的成员(包括类及类中的属性,方法等)。

在使用Visual Studio创建项目时,会自动生成一个与项目名称相同的命名空间。例如在创建项目时使用默认项目名:ConsoleApp1时,会自动生成一个名称为“ConsoleApp1”的命名空间。

 //自动生成的命名空间,该命名空间的名称默认与创建的项目名称相同,开发人员可手动修改
namespace ConsoleApp1 
{

}

在C#程序中定义命名空间,需要使用关键字namespace:

namespace 命名空间名
{
}
(2) 类

C#程序的主要功能代码都是在类中实现的。类是一种数据结构,可以封装数据成员,方法成员和其他类。因此,类是C#的核心和基本构成模块。C#支持自定义类,使用C#就是编写自己的类来描述实际需要解决的问题。

(3) 关键字与标识符
a. 关键字

关键字是C#中已经被赋予特定意义的一些单词,在开发程序时,不可以把这些关键字作为命名空间,类,方法或属性等来使用。

b. 标识符

标识符可以简单的理解为人的名字,比如,每个人都有自己的名字。它主要用来表示类名,变量名,方法名,属性名,数组名等各种成员。

(4) Main方法

每个C#程序都必须包含一个Main方法,它是类体中的主方法,也称为主入口方法,是激活整个程序的开关。

在Visual Studio中创建控制台应用程序后,会自动生成一个Program.cs文件,该文件有个默认的Main方法:

class Program
{
	static void Main(string[] args)
	{
	
	}
}

Main方法从“ { ”开始,到“ } ”结束。

static 和 void分别是Main方法的静态修饰符和返回值修饰符,C#程序中的Main方法必须声明为static,并且区分大小写。如果删去了static,则:
在这里插入图片描述
Main方法一般都是在创建项目时自动生成的,不用开发人员手动编写或修改。
如果需要修改,则需要注意:

  • Main方法在类或结构内声明,它必须是静态的,而且不应该是公用的。
  • Main方法的返回类型有两种:void或int。
  • Main方法可以包含命令行参数string[] args,也可以不包括。
static void Main(string[] args){}
static void Main(){}
static int Main(string[] args){}
static int Main(){}
(5) C#语句

C#语句是构造所有C#程序的基本单位。C#语句以分号结束。
例如:在输出“Hello World”的程序中输出“Hello World”字符串和定位控制台的代码就是C#语句

 Console.WriteLine("Hello World");
 Console.ReadLine();

上面的代码是两条最基本的C#语句,用来在控制台中输出内容和读取内容,它们都用到了Console类。
Console 类表示控制台应用程序的标准输入流、标准输出流和错误流,该类中包含很多方法,与输入、输出相关的主要有4个方法:

  • Read 从标准输入流读取下一个字符

  • RcadLine 从标准输入流读取下一行字符

  • Write 将指定的值写入标准输出流

  • WriteLine 将当前行终止符写入标准输出流

(6) 注释
a. 行注释

在C#代码中,行注释以“//”开头,其后均为注释的内容,直至回车。

static void Main(string[] args)  //Main()方法,程序的主入口方法
{
	Console.WriteLine("Hello World"); //输出“Hello World”
	Console.ReadLine();//定位控制台窗口
}
b. 块注释
static void Main(string[] args) //Main()方法,程序的主入口方法
{
	/* 块注释开始
		Console.WriteLine("Hello World"); //输出“Hello World”
		Console.ReadLine();//定位控制台窗口
	*/
}

不过块注释通常用来为类文件,类或方法等添加版权,功能等信息,注释文本或代码还是使用“//”较好

static void Main(string[] args) //Main()方法,程序的主入口方法
{
	//	Console.WriteLine("Hello World"); //输出“Hello World”
	//	Console.ReadLine();//定位控制台窗口
}

三,程序编写规范

代码规范虽然不是C#语法的组成部分,但是“编程路千万,标准第一条,代码不规范,同事两行泪”

(1) 代码编写规则
  • 在编写C#程序时,统一代码的缩进样式,比如统一缩进为两个空格或四个空格,一般为一个Tab键。
  • 每写完一行C#代码,都应该换行编写下一行C#代码。
  • 在编写C#代码时,合理使用空格,以便使结构更清晰,比如在运算符+的前后各一个空格。
  • 尽量使用接口,然后使用类实现接口,以提高程序的灵活性
  • 关键的语句(包括声明关键的变量)必须要写注释,由于你不写注释,你的同事正在提刀赶来的路上。
  • 建议局部变量在最接近使用它的地方声明。
  • 尽量不要使用goto系列的语句,除非是在跳出深层循环时。
  • 避免编写超过五个参数的方法,如果要传递多个参数,应使用结构。
  • 避免编写代码量过大的try-catch语句块。
  • 避免在同一个文件中编写多个类。
  • 在生成和构建一个长的字符串时,一定要使用StringBuilder类型,而不要使用string类型
  • 对于if语句,应该使用一对“{ }”把语句包含起来。
  • 对于switch语句,一定要有default语句来处理意外情况。
(2) 命名规范
a. 两种命名方法

Pascal命名法:名称中第一个字母为大写,后面连接词的第一个字母也均为大写。此方法用于命名方法名类型名,而且方法的命名一般将其命名为动宾短语,表明该方法的主要作用, 类的命名最好能体现出类的功能或操作

演示:创建一个公众类,并在此类中定义一个公共方法

public class Uesr	//创建一个公共类,一看就是一个与用户相关的类
{
	public void GetInfo()	//在公共类中创建一个公共方法,GetInfo是个动宾短语,
										//get info 获得资讯,获取信息
	{
	}
}

Camel命名法(又称驼峰式命名法):名称中第一个单词的字母为小写,后面连接词的第一个字母均为大写。此方法用于命名局部变量方法的参数。补充: 定义成员变量时,最好加前缀“_”,然后就是驼峰命名法了。
演示:声明一个字符串变量和创建一个公共方法

string strUserName; //声明一个字符串变量strUserName
public void addUser(string strUserId, byte[] byPassword) 
									//创建一个具有两个参数的公共方法
{
}
b.常用程序元素的基本命名规范
  • 在命名项目名称时,可以使用公司域名+产品名称,或直接使用产品名称

演示:搜狗目前在用的域名是sogou,假设其有个待研产品名为CHR,则可以将项目命名为“sogou.CHR”或“CHR”

  • 用有意义的名字定义命名空间,如公司名,产品名
namespace sogou //公司命名
{
}
namespace CHR	//产品命名
{
}
  • 接口的名称加前缀“I”,字母“ i ”的大写
public interface Iconvertible  //创建一个公共接口Iconvertible
{
}
  • 类的命名最好能体现出类的功能或操作
  • 方法的命名一般将其命名为动宾短语,表明该方法的主要作用
public class Uesr	//创建一个公共类,一看就是一个与用户相关的类
{
	public void GetInfo()	//在公共类中创建一个公共方法,GetInfo是个动宾短语,
											//get info 获得资讯,获取信息
	{
	}
}
  • 定义成员变量时,最好加前缀“_”
public class User		//创建一个公共类
{
	private string  _strUserName;	//声明一个私有成员变量
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章