前言:学习笔记,本文在逐步完善中。
下载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#程序的命名空间就像是一个包含不同类型物品的仓库,而using指令就好比一把钥匙,命名空间的名称就好比是仓库的名称,用户可以通过钥匙打开指定名称的仓库,进而从仓库中获取所需要的物品。
如果要调用某个命名空间中的类或方法,首先需要使用using指令引入命名空间,这样,就可以直接使用该命名空间中所包含的成员(包括类及类中的属性,方法等)。
在使用Visual Studio创建项目时,会自动生成一个与项目名称相同的命名空间。例如在创建项目时使用默认项目名:ConsoleApp1时,会自动生成一个名称为“ConsoleApp1”的命名空间。
//自动生成的命名空间,该命名空间的名称默认与创建的项目名称相同,开发人员可手动修改
namespace ConsoleApp1
{
}
在C#程序中定义命名空间,需要使用关键字namespace:
namespace 命名空间名
{
}
C#程序的主要功能代码都是在类中实现的。类是一种数据结构,可以封装数据成员,方法成员和其他类。因此,类是C#的核心和基本构成模块。C#支持自定义类,使用C#就是编写自己的类来描述实际需要解决的问题。
关键字是C#中已经被赋予特定意义的一些单词,在开发程序时,不可以把这些关键字作为命名空间,类,方法或属性等来使用。
标识符可以简单的理解为人的名字,比如,每个人都有自己的名字。它主要用来表示类名,变量名,方法名,属性名,数组名等各种成员。
每个C#程序都必须包含一个Main方法,它是类体中的主方法,也称为主入口方法,是激活整个程序的开关。
在Visual Studio中创建控制台应用程序后,会自动生成一个Program.cs文件,该文件有个默认的Main方法:
class Program
{
static void Main(string[] args)
{
}
}
Main方法从“ { ”开始,到“ } ”结束。
static 和 void分别是Main方法的静态修饰符和返回值修饰符,C#程序中的Main方法必须声明为static,并且区分大小写。如果删去了static,则:
Main方法一般都是在创建项目时自动生成的,不用开发人员手动编写或修改。
如果需要修改,则需要注意:
static void Main(string[] args){}
static void Main(){}
static int Main(string[] args){}
static int Main(){}
C#语句是构造所有C#程序的基本单位。C#语句以分号结束。
例如:在输出“Hello World”的程序中输出“Hello World”字符串和定位控制台的代码就是C#语句
Console.WriteLine("Hello World");
Console.ReadLine();
上面的代码是两条最基本的C#语句,用来在控制台中输出内容和读取内容,它们都用到了Console类。
Console 类表示控制台应用程序的标准输入流、标准输出流和错误流,该类中包含很多方法,与输入、输出相关的主要有4个方法:
Read 从标准输入流读取下一个字符
RcadLine 从标准输入流读取下一行字符
Write 将指定的值写入标准输出流
WriteLine 将当前行终止符写入标准输出流
在C#代码中,行注释以“//”开头,其后均为注释的内容,直至回车。
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();//定位控制台窗口
*/
}
不过块注释通常用来为类文件,类或方法等添加版权,功能等信息,注释文本或代码还是使用“//”较好
static void Main(string[] args) //Main()方法,程序的主入口方法
{
// Console.WriteLine("Hello World"); //输出“Hello World”
// Console.ReadLine();//定位控制台窗口
}
代码规范虽然不是C#语法的组成部分,但是“编程路千万,标准第一条,代码不规范,同事两行泪”
Pascal命名法:名称中第一个字母为大写,后面连接词的第一个字母也均为大写。此方法用于命名方法名和类型名,而且方法的命名一般将其命名为动宾短语,表明该方法的主要作用, 类的命名最好能体现出类的功能或操作
演示:创建一个公众类,并在此类中定义一个公共方法
public class Uesr //创建一个公共类,一看就是一个与用户相关的类
{
public void GetInfo() //在公共类中创建一个公共方法,GetInfo是个动宾短语,
//get info 获得资讯,获取信息
{
}
}
Camel命名法(又称驼峰式命名法):名称中第一个单词的字母为小写,后面连接词的第一个字母均为大写。此方法用于命名局部变量和方法的参数。补充: 定义成员变量时,最好加前缀“_”,然后就是驼峰命名法了。
演示:声明一个字符串变量和创建一个公共方法
string strUserName; //声明一个字符串变量strUserName
public void addUser(string strUserId, byte[] byPassword)
//创建一个具有两个参数的公共方法
{
}
演示:搜狗目前在用的域名是sogou,假设其有个待研产品名为CHR,则可以将项目命名为“sogou.CHR”或“CHR”
namespace sogou //公司命名
{
}
namespace CHR //产品命名
{
}
public interface Iconvertible //创建一个公共接口Iconvertible
{
}
public class Uesr //创建一个公共类,一看就是一个与用户相关的类
{
public void GetInfo() //在公共类中创建一个公共方法,GetInfo是个动宾短语,
//get info 获得资讯,获取信息
{
}
}
public class User //创建一个公共类
{
private string _strUserName; //声明一个私有成员变量
}