您的位置:首页 > 编程语言 > C#

C#基础笔记

2014-01-05 18:04 232 查看
1〉隐式转换条件:数据类型兼容,目标类型大于源类型

强制转换:需要显示进行转换,因为要将1个小的数据类型放到1个大的数据类型中,这样做的话会可能发生问题,这个问题需要我们程序员自己承担。

2〉Parce()只能转换字符串,字面上以指定

的数据类型才可以转换成功

Convert :subtopic 

3〉值类型:枚举 bool 结构 所有的数值类型

引用类型: string 数组 类

区别:

值类型:

4〉局部变量

定义在方法中的变量就是局部变量

调用带参数的方法的时候 参数的类型要一致参数的个数一致 顺序一致

局部变量在使用之前必须赋值

为什么调用带参数的方法的时候 必须要赋值:?

局部变量在使用之前必须赋值

 方法的参数如果有默认值,在调用的时候,可以不给这个参数传值

 static void Test1(string str,int i=11)

 //带默认值的参数必须放在参数列表的最右侧,否则会报错

 {

 i++;

 }

//在调用带参数的方法的时候可以显示的指定为那些

参数赋值

局部变量的变量名都是声明在栈空间里的

数组: arr.GetLength(0);得到指定维度的长度

二维数组表示一个表格

5〉在同一个作用域下 不能定义相同名字的成员

什么情况下才能构成方法的重载:

1、方法的名字一样

2、方法的参数个数、类型不一样

3、必须在同一个类中

4、与返回至无关

6>可变参数 params--必须是数组参数

params只能用于一维数组

数组长度可以为0

ref修饰方法的参数在调用的时候必须在变量前面加上ref关键字,只能传递变量,不能传递常量

传递的时候不是传递变量的值而是传递变量的地址

out也是传递的变量的地址。out必须在方法中为其赋值

out侧重输出,ref侧重修改

out在传递之前可以不赋初值因为在方法中肯定会为out赋值

ref在传递之前必须要有值因为在方法中有可能会用到这个参数的值。

ref是用来修饰方法的参数 在调用的时候必须在变量前面加上ref关键字

6〉〉对象 对象是1个具体存在,摸得着,可以直接拿来使用的。

类就是对一些相同特征事物的统称。类是抽象的,不能直接使用

在程序中要先创建一个类,然后才能有对象

//变量的命名规范

1、变量如果只有1个单词全部小写 如果有多个单词除开始第一个字母大写

2、命名要有意义。 

3、变量名是名词

4、方法名 每个单词的首字母大写方法名是1个动词

行为定义成一个方法

6〉〉〉创建对象是如何开辟空间的

Person p1=new Person();

new是一个运算符:

1、在内存中开辟一块合适大小的空间

2、在这个空间里创建对象

3、调用这个对象的构造函数

4、返回这个空间的引用地址。 

7〉〉〉成员变量声明的时候,如果不给初始值这个成员变量是有默认值的值类型

8〉〉类的成员访问修饰符

public可以在任意的地方访问

 private只能在类的内部访问,是默认的访问级别

 protected 在本类和本类的子类中访问

 internal只能在当前程序集中访问

 执行代码只能写在方法中,

 目前为止:类的成员有字段 方法。

9〉〉〉F10 逐过程执行

10〉〉Get Set方法

属性的本质是1个get和1个set方法,而在set方法中定义了1个参数叫做value所以我们可以在set块里面访问value

属性是对字段的封装

p.Name="小明";调用get访问器里的值

属性本身不存值,值是存在这个属性所封装的字段里面的。

属性的返回值与其所封装的字段没有关系。

属性的返回值决定了get返回值的类型和set

参数类型

get只读属性:只能通过这个属性得到字段的值

set只写属性:只能通过这个属性给字段赋值而不能通过这个属性取字段的值。

//类的规范,只要类中的字段要被外界访问就要把这个字段封装成属性

public int Age{get;set;};

自动属性:如果对一个字段没有任何逻辑上的验证并且可读可写就可以写成自动属性。

自动属性在生程序集的时候会为这个自动属性生成1个成员变量被这个自动属性多封装。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息