属性的定义
定义的结构: public int MyIntProp{
get {
//get code
}
set{
//set code
}
}
1.定义属性需要名字和类型
2.属性包括两个块get和set块
3.访问属性和访问字段一样,当取得属性的值的时候,就会调用get块,所以get块需要一个返回类型就是属性的类型,当我们
去给属性设置值的时候,就会调用属性中的set块,我们在set块中通过value访问到我们设置的值。value关键字
属性的作用:我们习惯上把字段设置为私有的,这样外界不能修改字段的值,然后我们可以通过定义属性来设置和取得字段的值。
private int age;
public int Age{
//习惯上属性大写,字段小写
set{
if(value<0)return:
aqge=value;
}
get{
return ago;
}
}
匿名类型
声明变量时不声明类型
var var1=34;
this和base关键字
this可以访问当前类中定义的字段属性和方法,有没有this都可以访问。base可以调用父类中公有方法和字段。
密封类
sealed class BaseClass{
}
static 可以修饰字段或者方法,叫静态字段或者方法,使用static修饰的成员,只能通过类名访问。
当我们构造对象时,对象只包括了普通的字段,不包含静态字段。
定义和实现接口
interface IFly{
void Fly();
void MethodA();
}
class Bird:IFly(){
public void Fly(){}
public void MethodA(){}
}
可以继承如类
泛型
集合类 列表List
1,创建列表(列表可以存储任何类型的数据,在创建列表对象的时候首先要指定你要创建的这个列表要存储什么类型的)(泛型)
List<int> scoreList = new List<int>();
new List<int>(){1,2,3}
new List<string>(){"one","two"}
var scoreList = new List<int>();
2,往列表中插入数据
scoreList.Add(12);
scoreList.Add(45);
3,如何取得列表中的数据?列表中的数据跟数组有点相似,索引从0开始 ,可以通过索引来访问
scoreList[0] //访问添加到列表中的第一个数据
class Program{
static void main(string[] args)
// list<int> scorelist=new list<int>();//创建了一个空的列表,通过类型后面的<>来表示这个列表存储的数据类型
var scoreList=new List<int> //第二种方法创建
var scoreList=new List<int>(1,2,3); //创建了一个列表,初值123
scoreList.Add(12);//向列表插入数据 根据索引访问
}
1,Capacity获取容量大小
2,Add()方法添加元素
3,Insert()方法插入元素(索引,值item)
4,[index]访问元素
5,Count属性访问元素个数
6,RemoveAt()方法移除指定位置的元素
7,IndexOf()方法取得一个元素所在列表中的索引位置 int index=score.IndexOf(200)
LastIndexOf()上面的方法是从前往后搜索,这个是从后往前搜索,搜索到满足条件的就停止
上面的两个方法,如果没有找到指定元素就返回-1
8,Sort()对列表中是元素进行从小到大排序