C # 入门
今天刚刚学C#,之前有上课,可是老师上课的时候我们都没有书,所以都不会。
现在老师都上到后面的窗体程序了,但是C#的基础我都不会,无奈之下只好自己来学习啦
学每一门语言都是从它最基本的语句来学起的。
C# 的基本数据类型有很多啦,我们需要注意的是,bool型和string 已经从默默无闻的小喽啰升级到基本数据类型之列了 ,还有就是,int 型变量的大小是 4 个字节(原来C是2个)
基本数据类型没有什么太多要了解的,知道这样就够了。
数组 的定义 和之前的稍稍有点变化:
static void Main()
{
int[] a= {2,5,6,5,7}
a[1];
}
其中,中括号表示,定义一个数组。
数组介绍完了 就开始要介绍 方法。 方法其实也就是函数。
double area(double r)
{
return r*r*3.14;
}
然后就轮到三种控制结构:顺序,选择,循环
选择:if.... ,if..... else.... ,if......if else .....if eles
循环:while ...... ,do ....while... , for
语法和之前都是一样的,所以也就不需要再说明一些什么
接下来就到类和对象
在C#中,类和main 函数是分开两个文件的,所以要创建类就要在旁边的解决方案资源管理器的项目右键
然后找到生成——类 ,系统会弹出一个对话框。(快捷键是: shift +alt + c)
定义类的语法是:
访问修饰符 class 类名
{
字段
方法
属性
索引器
}
字段:其实也就是变量
方法: 函数
(tip:选中多个列 用 Alt+ 鼠标)
一般来说,我们写一个类的变量会用private 来实现数据的封装
但是封装也要有访问的方式,所以在C#里面用属性来实现对数据的封装
属性可以手动写,也可以自动生成
它还分有 叫 自实现属性 和只读属性的类别
说白了,属性就是 实现 如何在外部修改private 变量的值,属性也就是一个函数(一个方法)
属性的定义 有get 和 set
public string Name
{
get { return name;}
set { name = value;}
}
自动生成的方法就是选中 private属性,然后右键 重构——封装字段 (ctrl + R + E)
自实现属性其实也就是 不写private ,直接写
public string Name {set;get;}
(注意:没有=号)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Console_class
{
//快捷键 添加类 shift + alt + C
/*
* 类的成员包括:
* 字段 ,字段也就是 变量
* 方法 ,也就是函数
* 属性 ,其实就是封装字段的方法,其中有,自动实现以及只读属性的方式
* 索引器
*
*
* 例子:学生类
* 方法: 学习,休息,自我介绍
* 字段:姓名,学号,出生日期,性别
*/
//快捷键 选择列 alt + 鼠标点击
class student
{
//手动写属性
private string name;
public string Name
{
get { return name;}
set { name = value;}
}
//快捷键生成属性 ctrl + R + E
private string id;
public string Id
{
get { return id; }
set { id = value; }
}
private DateTime dateOfBirth;
public DateTime DateOfBirth
{
get { return dateOfBirth; }
set { dateOfBirth = value; }
}
//自实现属性 没有等号!
// public char Sex = {get ; set ;}
public char Sex {get; set;}
//只读属性 public
public int Age
{
get { return DateTime.Now.Year - dateOfBirth.Year; }
}
public void study()
{
Console.WriteLine("我正在学习");
}
public void rest()
{
Console.WriteLine("我正在休息");
}
public void introduce()
{
Console.WriteLine("大家好,我叫做{0},我是一个{1}生,我出生日期是{2}",name,Sex,dateOfBirth);
}
}
}
索引器 是一个使用别的变量来访问其意义的值 的一个方法,相当于设置别名
例如:你想用字符串"数学" 来访问math,"英语"来访问english
public 返回值类型 this[别名的类型 名称]
public double this[string name]
{
get
{
if (name == "数学")
return math;
else if (name == "英语")
return english;
return -1;
}
set
{
if (name == "数学")
math = value;
else if (name == "英语")
english = value;
}
}
继承、重构、重写 的概念都是C++的,所以,也没有太大必要去理会
下面到接口,接口就相当于一个头文件,它里面的属性和方法都是public属性的
并且,在接口中并不具体实现各个模块
接口也要新建一个文件,我们在项目右键中添加-接口(快捷键 shift + alt +c)
我们把类继承接口的方式叫做 类实现接口
类的接口的定义用:
pulic Interface 接口名
{
属性 {get;set}
方法 ();
}
public class beauty : 接口名
{
public 属性
方法()
{
}
}
具体的C# 的基础语法就是那么多
下面介绍一些C#特有的一些东西
1.异常处理
try ... ... catch
2. .NET框架
.net框架其实就是能让我们站在巨人的肩膀上编程的一个类库
它包含了
集合类、IO操作类库、windows用户界面类库、ADO.NET类库
LINQ类库、多线程相关类库、以及asp.net WEB空间类库
3. .net几乎支持所有语言的编译的原因—— 公共语言规范CLS 和中间语言MSIL
(跨平台性)
4. 垃圾回收器 —— 再也不用担心内存泄露啦