欢迎来到 IT实训基地-南通科迅教育
咨询电话:0513-81107100
C#学习
2017/3/9
南通科迅教育
422
南通Java培训中心怎样选择

C#开发轻松入门(慕课网)
1、C#简介
1-1 .NET简介
.NET平台可运用多种语言编程,C#配合的最好。
1-2 Visual Studio简介及安装
...
1-6 Hello World
控制台程序:Main方法,程序的入口

?
1
Console.Write("Hello World\n");// Ctrl+F5直接运行

namepalce命名空间--class类(C#程序有一个一个的类组成)
2、C#语法基础
const常量
数组声明:

?
1
2
3
4
5
string[] name =newstring[3];
char[] a =newchar[] {'a','b','c'};
char[] a = {'a','b','c'};
//二维数组,看作是数组的数组
int[,] arr =newint[2,3];//包含2个一维数组,每个一维数组包含3个变量,总共2*3=6个数组元素


foreach
foreach循环可以不依赖索引而读取每一个数组元素,有迭代的意思

?
1
2
3
4
5
int[] num = {1,2,3};
foreach(inti in num)
{
Console.Write(i);
}


在控制台接收输入:

?
1
2
string name;
name = Console.Readline();

在C#中进行断点跟踪和调试:
F9设置/取消断点
F5进行调试
F10进行单步执行

F11进入方法体


用C#实现封装(慕课网)

1、C#中的类和对象
1-1 类和对象的概念:
面向对象、封装、继承、多态、类、对象、字段(属性)、方法。
实例化
1-2 定义类
在项目处右击添加类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
namespace MyFirstApp
{
/// <summary>
/// 小朋友
/// </summary>
classChild
{
publicstring name;
publicintage;
 
publicvoidplayBall()
{
Console.Write("我是LBJ");
}
 
}
}

 

1-3 实例化对象并访问对象成员

?
1
2
3
Child XiaoMIng =newChild();//实例化对象
XiaoMing.name ="小明";//为字段赋值
XiaoMIng.playBall();//调用方法


1-4 访问修饰符public&private
public(公共的)、private(私有的)
默认为private

2、属性的封装
2-1 封装的概念
为什么要在程序中使用封装--使用封装(隐藏对象的信息、留出访问的接口)

?
1
2
3
4
5
6
7
8
9
10
classChild
{
privatestring _sex;
publicstring Sex
{
//get、set、value都是关键字
get{return_sex;}//读访问器
set{_sex = value;}//写访问器
}
}

 



2-2 代码实现属性的封装
封装的快捷键:Ctrl+R+E

?
1
2
3
4
5
6
7
8
9
10
classChild
{
    privatestring _name;
    //使用快捷键Ctrl+R+E实现快速封装
    publicstring Name
    {
        get {return_name;}
        set { _name = value;}
    }
}


2-3 只读属性
只有get访问器,用构造方法为字段进行初始化
2-4 通过set块约束属性赋值

?
1
2
3
4
5
6
7
8
9
10
11
privateint_age;
 
publicintAge
{
get {return_age; }
set
{//约束属性赋值
if(value>3&& value<7)
_age = value;
}
}

3、方法
3-1 定义并调用无参方法
。。。
3-2 定义并调用带参方法
形参实参

?
1
2
3
4
5
6
7
publicvoidEatSuge(string suger)
{
if(suger =="榴莲糖")
//输出
else
//输出
}


3-3 方法的重载(通过实参类型和参数数量的不同确定)

?
1
2
3
4
publicvoidEatSuge(intcount)
{//...  }
publicvoidEatSuge(string suger,intcount)
{//...  }


3-4 通过return结束方法调用或带回返回值
4、构造方法
4-1 默认构造方法、无参构造方法和有参构造方法
构造方法:在实例化对象时为属性赋初始值
通常声明为public,可重载
无参:

?
1
2
publicChild()
{//...}


有参:

?
1
2
3
4
5
6
publicChild(string name, string sex,intage)
{
_name = name;
_sex = sex;
_age = age;
}


4-2 this关键字
this代表当前对象

?
1
2
3
4
5
6
publicChild(string name, string sex,intage)
{
this._name = name;
this._sex = sex;
this._age = age;
}

4-3 对象初始化器

?
1
Child child =newChild(){Name ="asf", Age =5};

5、值类型和引用类型
5-1 值类型与引用类型
**值类型:int、char、double、bool

?
1
2
3
4
5
//x的值不变,创建了y副本
//值类型变量存储对象的值,赋值会创建值得副本,修改任何副本都不会影响其他副本
intx;
inty=x;
y--;//y变x不变

**引用类型:类(string)、数组、接口

?
1
2
3
4
5
6
7
8
9
//引用类型存储对象的内存地址
//赋值不会创建值得副本,只会创建地址的副本
//修改任何一个副本,也同时修改其他的副本
Child c1 =newChild();
c1.Name ="张小明";
Child c2 = c1;
c2.Name ="刘小勇";
Console.Write(c1.Name);//输出为刘小勇
Console.Write(c2.Name);//输出为刘小勇


5-2 结构(值类型,也可以有字段、属性和方法)
结构与类的不同:
最根本的区别是结构是值类型,而类是引用类型;
结构的字段不能赋初始值;
结构不能定义无参的构造方法;
结构内的构造方法里必须为所有的字段赋值;
结构定义时不必须实例化;
5-3 枚举(值类型)
举例:用枚举限制sex的赋值

?
1
2
3
4
enumGender
{
男,女
}

特点:
枚举是值类型;
枚举不能定义字段、属性和方法;
枚举值是从0递增的整数。
5-4 方法传参中的值类型和引用类型
值类型与引用类型赋值时不同造成的差异
引用类型,按引用传参,传递的是地址--导致形参改变实参也改变
值类型,按值传参,传递的是值副本--形参改变,实参不变
5-5 ref关键字

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//使得值类型的参数可以按照引用传参
classProgram
{
    staticvoidMain(string[] args)
    {
        intage =2;
        increase(ref age);//传入age的引用,类似于C++的&age
        Console.Write(age);
    }
 
    staticvoidincrease(refintAge)//ref int传入引用,类似于C++的int&
    {
        Age++;
    }
}

 

5-6 out关键字
返回多个值
举例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
classProgram
{
    staticvoidMain(string[] args)
    {
        intly, ny;//去年的年龄,明年的年龄
        intage =2;
        lyny(age, out ly, out ny);//返回去年的年龄和明年的年龄
        Console.WriteLine(ly+" "+ny);//输出1 3
    }
 
    staticvoidlyny(intAge, outintlastyear, outintnextyear)//输出去年的年龄和明年的年龄
    {
        lastyear = Age -1;
        nextyear = Age +1;
    }
}


5-7 课程总结
封装
类和对象
把字段封装成属性
方法
构造方法
值类型和引用类型

77
关闭
先学习,后交费申请表
每期5位名额
在线咨询
免费电话
QQ联系
先学习,后交费
TOP
您好,您想咨询哪门课程呢?
关于我们
机构简介
官方资讯
地理位置
联系我们
0513-91107100
周一至周六     8:30-21:00
微信扫我送教程
手机端访问
南通科迅教育信息咨询有限公司     苏ICP备15009282号     联系地址:江苏省南通市人民中路23-6号新亚大厦三楼             法律顾问:江苏瑞慈律师事务所     Copyright 2008-