list. Remove( ) //删除,通过指定某一个元素进行删除
list. RemoveAt( ) //根据指定的索引进行移除
Sort ( ) //数值排序 ,升序。
list. Remove( ) //删除,通过指定某一个元素进行删除
list. RemoveAt( ) //根据指定的索引进行移除
Sort ( ) //数值排序 ,升序。
List<int> list = new List<int>();
Console.WriteLine(list.count+" : "+ list.Capacity);
list.count 代表列表的个数
list.Capacity 表示列表的容量
集合(列表 list)
1,泛型
List<int> list = new List<int>();
子类开始继承
如果没有写Overide关键字,则方法为隐藏方法
1,接口没有返回值,。
2,接口与抽象类的区别
接口:只能包含抽象方法(只有方法的声明,没有方法体)
抽象类:可以包含抽象方法,也可以包含普通方法
3,
类的对象 toString
// public override void Exam() 重写父类(基类)的方法
//public new void Exam() new 关键字可以显式隐藏从(父类)基类继承的成员。
索引关键字 this
public string this[int index]{
get{
return name [index];
}
set{
name[index] = value;
}
}
列表的遍历
遍历的两种方式:
1.for循环,遍历所有的索引。
for(int i=0;i<list.Count;i++{
循环体;list[i]
}
2.foreach遍历。
List<int> list = new List<int>(50);
list.Add(34);list.Add(234);
foreach(int temp in list)
{
Console.WriteLine(temp);
}
列表的一些常见操作(增加 删除 改 查)
插入数据:list,Insert(i,list[i]);
删除数据:list.Remove(list[i]);只会移除匹配的第一个数据
修饰符
修饰符,用来类型或者成员的关键字。修饰符可以指定方法的可见性。
public:同一程序集(DLL或EXE)中的任何其他代码或引用该程序集的其他程序集都可以访问该类型或成员。
private:只有同一类或结构中的代码可以访问该类型或成员。
. protected:只有同一类或结构或者此类的派生类中的代码扌可以访问该类型或成员。-internal:同一程序集中的任何代码都可以访问该类型或成员,但的代码不可以。protected internal:在一程序集中,protected internal体现的是internal的性质﹔在其他程序集中,protected internal体现的是protected的性质。
·
public DrivedClass(int attack,int hp,int speed):base(hp,speed){
this.attack = attack;
}
这可以调用父类的值,
在子类的构造函数里加冒号:base(hp,speed) 调用父类的构造方法
普通类里是不能包括抽象方法的
抽象方法只能包含在抽象类里,抽象类可以没有抽象方法。
.密封类 se
base. 访问父类里面的成员
private 访问权限最高,只能在本类中访问
proyected 访问权限中等,可以在子类中访问
public 访问权限最高、
、
this. ---指定当前对象
在类名后面加上冒号 :加上继承父类的类名
栈空间比较小,但是读取速度快 ->商店
堆空间比较大,但是读取速度慢 ->仓库
栈的特征:
数据只能从栈的顶端插入和删除|
把数据放入栈顶称为入栈(push)
从栈顶删除数据称为出栈(pop)
-后进先出( Last In First Out )
堆
堆是一块内存区域,与栈不同,堆里的内存能够以任意顺序存入和移除
GC Garbage Collector垃圾回收器
CL R的GC就是内存管理机制,我们写程序不需要关心内存的使用,因为这些都是CLR帮
我们做了。
自动化创建
当你系统里没有创建一个属性
但定义了一个属性的简写方法,则系统会自动创建一个成员变量
(用于只读或只写)
public int Id
{
get;set;
}
//当没有的成员的定义去访问,则要通过属性去访问成员
Console.WriteLine("id:" + Id);
匿名类型
(根据你后面赋值来决定的)
var agv=20; ->整型
var name="小李" ->字符串类型
//定义一个学生类
class Studens
{
private string name;
private int agv;
private string sex;
private int id;
//定义一个name的get和set方法
//一、
public void setName(string name)
{
this.name = name;
}
public string getName()
{
return name;
}
//简写版
public string Name
{
get
{
return name;
}
set //value 参数
{
name = value;
}
}
public void Show()
{
Console.WriteLine("name:"+name);
Console.WriteLine("agv:" + agv);
Console.WriteLine("sex:" + sex);
Console.WriteLine("id:" + id);
}
public Studens()
{
}
public Studens(string name, int agv, string sex, int id)
{
this.name = name;
this.agv = agv;
this.sex = sex;
this.id = id;
}
}
static void Main(string[] args)
{
//调用刚创建类的对象
Studens stu = new Studens();
//stu.Show();
stu.setName("张三");
Console.WriteLine(stu.getName());
stu.Name = "李四";
Console.WriteLine(stu.Name);
}
class BaseClass{
利用类创建一个对象