目录
C#学习第一天
对C#的理解和认识
C#是微软公司开发的,一个基于面向对象的编程语言,运行于.NET Framework。
C/C++,能让程序员更加灵活的操纵系统的各项资源,对程序员的要求较高,不适合快速开发;C#,对程序员的要求低,支持快速开发,利于商业化。
.Net,是个平台,类似于厨房;
.NET Framework,基于平台封装的一个环境,类似于厨房中餐具和食材;
C#,是个编程语言,类似于厨师。
C#代码规范
命名要有意义
驼峰命名Camel ==> 多用于给变量和字段命名;
帕斯卡命名Pascal ===> 函数命名
字段命名,下划线+驼峰命名,_name;
函数命名,帕斯卡命名,SayHello;
类
字段:存储数据
属性:保护字段,Get、Set
函数:描述对象的行为
构造函数:初始化对象,给对象的每个属性赋值
new\this\base关键字
new:在堆中开辟空间;隐藏父类的成员
this:指代当前对象;显示的调用自己的构造函数
base:一个引用,类似于Java中的Super关键字
进程操作
查看当前正在运行的进程
Process[] pro = Process.GetProcesses();
foreach (var item in pro)
{
//item.Kill(); //调用要慎重
Console.WriteLine(item.ProcessName);
}
使用进程打开应用程序
Process.Start("notepad");//打开记事本
Process.Start("mspaint");//打开画图工具
Process.Start("iexplore","http://www.baidu.com");
Process.Start("calc");//打开计算器*/
使用进程打开文件
//封装我们要打开的文件,但是并不去打开这个文件
ProcessStartInfo psi = new ProcessStartInfo(@"C:\Users\My\Desktop\HelloWorld.txt");
Process pro = new Process();
pro.StartInfo = psi;
pro.Start();
C#多态
虚方法 virtual override
class Employee
{
public virtual void Daka()
{
Console.WriteLine("员工九点打卡");
}
}
class Manager: Employee
{
public override void Daka()
{
Console.WriteLine("经理11点打卡");
}
}
抽象类 abstract override
abstract class Animal
{
public abstract void Bark();
}
class Dog : Animal
{
public override void Bark()
{
Console.WriteLine("汪汪");
}
}
接口 interface
索引器
让对象以索引的方式操作数组。
//测试代码
Person p = new Person();
p.Numbers = new int[] { 1, 2, 3, 4, 5 };
p[0] = 10;
p[1] = 2;
p[2] = 3;
p[3] = 4;
p[4] = 5;
for (int i = 0; i < p.Numbers.Length; i++)
{
Console.WriteLine(p.Numbers[i]);
}
p["张三"] = "一个好人";
p["大黄"] = "汪汪汪";
p["春生"] = "哈哈哈";
Console.WriteLine(p["李四"]);
Console.ReadKey();
//Person类定义
class Person
{
private int[] numbers = new int[5];
public int[] Numbers
{
get { return numbers;}
set { numbers = value; }
}
//索引器:让对象以索引的方式操作数组
public int this[int index]
{
get { return numbers[index]; }
set { numbers[index] = value; }
}
Dictionary<string, string> dic = new Dictionary<string, string>();
public string this[string index]
{
get { return dic[index]; }
set { dic[index] = value; }
}
}
C#五个访问修饰符
public:在哪都可以访问
private:私有的,只能在当前类的内部访问
internal:只能在当前程序集中访问
protected:受保护的,子类可访问
protected internal:当前类,子类,当前程序集