<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">1.命名规范</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">要有意义</span>
camel:变量、字段,字段前加下划线。
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">1.命名规范</span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">要有意义</span>
Pascal:类名、方法名。
2.方法名:
一般使用动词短语。3.添加引用命名空间快捷键:
alt + shift + F104.转到定义:
F125.字段:
private string _fileName;
//给字段添加属性,写好字段后,快捷键 Ctrl+R+E
public string FilePath
{
get{ return _filePath;}
set{ _filePath = value;}
}
6.自动属性 : prop+两下Tab
public string FileName{get;set;}
7.属性名使用Pascal命名法,原因:属性本质是两个函数。
8.类需要默认构造函数,当新定义有参构造函数后。
9.当父类不存在无参构造函数时(默认构造函数),子类可以使用初始化列表初始化父类,调用父类的构造函数,而不必提供父类的无参构造函数。父类必须提供无参构造函数的原因是,子类初始化时调用父类构造函数没有提供父类有参构造函数的参数(此时编译器提供的无参默认构造函数被定义的有参构造函数覆盖),如果使用base()提供了,那么父类的无参构造函数不是必需的。
class BaseClass {
public string Name { get; set; }
public BaseClass(string name)
{
Name = name;
}
}
class ClassA:BaseClass
{
public ClassA(string name) : base(name) { }
}
10.打印系统当前所有进程,使用进程类静态函数
Process[] pro = Process.GetProcesses();//获取系统当前所有进程
Console.WriteLine("进程:");
foreach (var process in pro)
Console.WriteLine(process.ProcessName);//打印进程名
Process.Start("D:/QQ/Bin/QQScLauncher.exe");//静态函数,启动一个程序
11.调用进程实例打开文件,使用进程类实例函数
Process pro = new Process();
pro.StartInfo = new ProcessStartInfo(@"calc");//将启动信息赋给进程
pro.Start();//实例函数,启动进程
12.Path的静态函数 Path.GetExtension(fileName) 返回文件扩展名 如.txt
13.switch语句中case块可以是string,如
case ".txt":dosomething();
break;
14.关键字:
new:在堆中开辟空间
在开辟的空间中创建对象
调用对象的构造函数
隐藏父类成员:当子类函数名与父类相同,有意隐藏父类的函数时,可以在子类函数返回值前加上new关键字,显示表示隐藏父类同名函数
如:public new void print() { } 不使用时也不报错,但是有提示
this:
代表当前类的对象
显示调用自己的构造函数:如重载的构造函数,参数不全时,不全的构造函数可以使用:
public ClassA(string name,int age):this(name,'男',age){}来调用自己的构造函数,实现代码重用,即不必再在不全参数中再次写赋值给字段值得代码
base:
先时调用父类的构造函数
调用父类的成员函数
15.抽象类:使用abstract关键字
abstract class Animal{
public abstract void Eat();
}
子类必须实现抽象父类中的所有抽象函数,返回值前加上override关键字即可重写