C#基础回顾

.NET技术基本特征介绍计算机存储数据原理

.NET技术基本特征

  1. 它提供了C#运行所必须的环境.NET Framework类库以及CLR(公共语言运行时)。
  2. .NET的两种交互模式

C#和.NET、ASP.NET的关系和区别#

1、.net(dot net)
.net是一个平台,抽象的平台概念。
实现形式是库:①定义了基本的类型(通用类型系统CTS,common type system)。
         ②包含.net公共语言运行库(CLR,common language runtime,负责管理用.net库开发的所有应用程序的运行)。
  核心是.net framework
    NET Framework包括两个关键组成元素:
a.Common Language Runtime,公共语言运行时(CLR)-提供内在管理,代码安全性检测等功能。
b…NET Framework Class Library,.NET框架类库(FLC)-提供大量应用类库,提高开发效率 。
2、C#(C sharp)
  C#是一个程序设计语言,仅仅是一个语言,是运行在.net CLR上的,用于创建应用程序的高级语言。
3、ASP.NET是一个网站开发的技术,仅仅是.NET框架中的一个应用模型。  
ASP.NET 是用于生成基于Web的应用程序的内容丰富的编程框架。
3. 基类库(BCL)
4. 公共语言规范(CLS)
5. Windows常用快捷键
6. 常用DOS命令
7. 面向对象的计算机语言
8. C#标识符命名规则–驼峰 --帕斯卡

计算机存储数据原理

  1. 计算机最终存储的是机器语言—二进制
  2. 十进制-十六进制-八进制-二进制

C#数据类型

值类型

  1. 存储在堆栈中
    2.从System.ValueType中派生
    3.直接存储其值
    4.空间小,调用速度快
    5.内存自动释放
    6.有结构体、枚举、可空类型

引用类型

  1. 存储在堆中
    2.从System.Object中派生
    3.直接存储其值的引用指针
    4.空间大,调用速度慢
    5.由GC自动释放
    6.有object、string、集合、数组

C#属性赋值语法

属性的分类,最终结果:保证等号两边的数据属性类型一致

普通属性

  1. C#中预定义的15种
  2. 对枚举类型赋值
  3. 特殊类型
  4. 对象类型
  5. 变量(全局变量、局部变量)、常量
  6. 变量的初始化

只读属性

只能获取属性值,不能对其赋值

C#运算符

算术运算符

数学运算

关系运算符

比较运算

逻辑运算符

and or

位运算符

按照数据的源码进行运算

C#类型转换

显示转换

这些转换是通过用户使用预定义的函数显式完成的。显式转换需要强制转换运算符。

  1. Convert
  2. int.Parse
  3. ToString
  4. (Char)XX
  5. as

拆箱和装箱

拆箱

将引用类型转换成值类型----将大的拆分成小的-----前提是先装箱

装箱

将值类型转换成引用类型----将小的包装成大的

隐式转换

这些转换是 C# 默认的以安全方式进行的转换

C#流程控制语句

  1. if
  2. if…else
  3. if…else if…
  4. if的嵌套
  5. switch
  6. 三元运算符
  7. 相等的比较

循环语句

  1. for
  2. while
  3. do…while
  4. foreach
  5. 循环终止语句:continue、break、return

数组、集合、泛型

  1. 简单数组
  2. 二维数组
  3. 集合
  4. 字典
  5. 泛型
  6. 哈希
  7. 队列
  8. 交错数组
  9. 冒泡排序
    数组:数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合;
    集合:用于数据存储和检索的类;
    #数组与集合的区别#
    ①数组是静态的,定长的,不能改变其大小,集合是不定长的,可根据其内容改变大小;
    ②数组声明其类型,集合不声明;
    ③数组是多维的,集合是一维的;
    ④数组存放类型只能是一种,集合不止一种
    #可空类型#
    C# 提供了一个特殊的数据类型,nullable 类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。
    例如,Nullable< Int32 >,读作"可空的 Int32",可以被赋值为 -2,147,483,648 到 2,147,483,647 之间的任意值,也可以被赋值为 null 值。类似的,Nullable< bool > 变量可以被赋值为 true 或 false 或 null。

枚举、结构、字符串

  1. 枚举:
    枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。
    C# 枚举是值类型。不能继承或传递继承。
  2. 结构:
    结构体是值类型数据结构。它使一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。结构体是用来代表一个记录。
  3. 字符串属于引用类型:
    string 关键字是 System.Object 的命名空间,
    string是C#中的类,String是.net Framework的类,
    string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以
  4. StringBuilder属于引用类型
    来自System.Text的命名空间,自身是类,使用时必须实例化,支持空参数构造,默认是空字符串,它是可变参数,初始化时,如果字符串长度超出初始化的大小时,
    会开辟一个新的地址空间,将原来字符串的内容复制到新的空间中,再追加超出的长度,旧空间会自动销毁,引用新空间地址,新空间大小是旧空间大小的基础倍。

C#方法参数

有返回值

方法完成必须保证有一个指定类型的返回结果

无返回值

void类型

参数

形参

指方法声明时在方法小括号中声明的参数

实参

指方法被调用时所传递的参数

传参方式

out参数

输出参数
①方法中的out参数在方法体结束前,必须对out参数赋值;
②方法中的形参为out类型时,对应的实参也必须带有out关键字;
③在调用out参数的方法时,必须准备一个相同类型的变量来接收out的结果,并且必须带有关键字;
④可视作out参数为方法的返回值

ref参数

引用传参
①方法中的形参为ref类型时,则对应得实参也必须带有ref关键字;
②调用方法时,方法内如果发生变化时,那么这个参数会永久性的发生改变

C#方法重载、递归

  1. 方法的重载
  2. 方法的递归(斐波那契数列)
    一个方法可以自我调用。这就是所谓的递归。

C#异常处理

try…catch…catch…
try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。
catch:程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。
finally:finally 块用于执行给定的语句,不管异常是否被抛出都会执行。

你可能感兴趣的:(C#基础回顾)