【记录】C#知识点总结

点击目录传送ฅʕ•̫͡•ʔฅ

    • 第一章 C#代码编写基础
        • 1.1 C#语言和VS2012开发环境
        • 1.2 C#项目的组织
        • 1.3 控制台应用程序
    • 第二章 基本数据类型和流程控制语句
        • 2.1 数据类型和运算符
        • 2.2 简单类型
        • 2.3 字符串
        • 2.4 数组

记录

C#知识点与理解

第一章 C#代码编写基础

1.1 C#语言和VS2012开发环境

1.C#语言也可以与COM以及操作系统底层的API进行交互(Application Programming Interface:应用程序界面)。

1.2 C#项目的组织

2.一个解决方案中可以包含多个项目。一个C#源文件中一般只包含一个类,但也可以包含多个类。

3.调用某命名空间下某个类提供的方法时,命名空间、类名之间都用点(.)分隔,一般语法如下:
命名空间.命名空间.……命名空间.类名称.静态方法名(参数,……);
若方法为实例方法,需要先进行类的实例化,然后再通过实例访问方法,一般语法如下:
实例名称.方法名(参数,……);
(总结:静态方法可直接调用,用实例调用非静态方法)

4.using 关键字的作用 :引用(用于为命名空间导入其他命名空间中定义的类型)、别名(用于简化命名空间的表达形式)、语句(用于定义一个范围(程序执行到此范围末尾,就会立即释放在using的小括号内创建的对象))。

5.构造函数(constructor)的名字和类的名字相同。

Tip:运行前按Ctrl+F5(能看一下输出)
这个是在没有Console.ReadKey();结尾时用

6.Main方法:入口方法名。
Main方法只能声明为public static int 或public static void,这是C#程序规定。

7.XML注释方式 “///”(敲完会自动弹出XML注释代码)。
#region注释方式 (#前缀表示该代码段是一条预处理指令),结尾#endregion,可以给被包围的代码添加注释,而且被包围的代码还可以折叠和展开。

8.快捷键
<F5>键:继续执行到下一个断点。
<F10>键:“逐过程”执行。
<F11>键:“逐语句”执行。

1.3 控制台应用程序

9.快捷输入C#代码 系统提供了很多可直接插入的代码段。
例如输入“for”3个字母后,连续按两次<Tab>键,系统会自动插入代码段。(一试便知( •̀ ω •́ )✧)

10.为了在调试环境下能直接观察出结果,一般在Main方法结束前加上Console.ReadKey();语句。

11.很多类型的应用程序,都可以利用string.Format方法或者ToString方法定义数据的格式(格式化字符串)。

12.Windows窗体应用程序(简称WinForm)是在Windows XP操作系统上开发客户端窗体应用程序的主要开发模型,这种开发模型利用GDI+和操作系统交互。

13.GDI(Graphics Device Interface,图形设备接口),提供了二维图形和文本处理功能。
GDI+是在GDI的基础之上,增加了一套基于.NET框架的编程接口。但是没有CPU硬件加速功能。

14.待补充。。。以后老师会讲。

第二章 基本数据类型和流程控制语句

2.1 数据类型和运算符

1.C#的类型从大的方面来看可分为两种,一种是值类型,另一种是引用类型
值类型包括:简单类型、枚举、自定义结构类型、可空类型
引用类型包括:类、接口、数组、委托

2.值类型和引用类型的区别在于,值类型变量直接在堆栈(stack)中保存变量的,引用类型的变量在堆栈中保存的是对象的引用地址

3.当把一个值类型的变量赋给另一个值类型的变量时,系统会在堆栈中保存两个完全相同的值;而把一个引用变量赋给另一个引用变量,
在堆栈中的两个值虽然相同,但是由于这两个值都是堆(heap)中对象的引用地址,所以实际上引用的是同一个对象。
即改变那个被赋值的引用变量相当于是将两个引用变量全改了(改的是对应地址上存的值)。

4.在C#语言中,不论是值类型还是引用类型,其最终基类都是System命名空间下的Object类(也可以用小写的object)。

5.常量:对于固定不变的、多个地方都需要使用的常数,在程序中一般用常量来表示。
C#用 const 关键字声明常量。

6.变量:变量通常用来表示一个数值、一个字符串值、或者一个类的实例。

7.匿名类型的局部变量:用 var 来声明,强类型数据,具体类型由编译器负责推断。

8.运算符:一元、二元、三元。
new 运算符:
(1)用于创建对象和调用构造函数,如Class1 obj = new Class1();
(2)用于创建匿名类型的实例。
typeof 运算符 :获取类型的System.Type对象,如System.Type type = typeof(int);

9.表达式是可以计算且结果为单个值、对象、方法或命名空间的代码片段。

2.2 简单类型

10.简单类型:包括整型、浮点型、布尔型和字符型,这些都属于内置的值类型。

11.整型:在计算机组成原理中,我们学习过定点数(学过?)。在C#中,用整型来表示定点整数。
类型指定符用于赋值为常数的情况,指定符放在常数的后面,大小写均可。“L”、“0x”。

12.浮点型:浮点类型有float、double和decimal(小数型),均属于值类型。
decimal:16字节浮点数,精度28~29,取值范围小于float,精度float是7,double是15-16。类型指定符M或m。

13.布尔型(bool):只有两个值:true和false。
在C#中,条件表达式的运算结果必须是bool型的,像if(i) j+=10;这样的用法是错误的。

14.字符(char):属于值类型,用char表示,表示单个Unicode字符(两字节)。

15.枚举(enum):枚举类型表示一组同一类型(基础类型,即8种整型类型之一)的常量,其用途是
为一组在逻辑上有关联的值一次性提供便于记忆的符号,从而使代码的含义更清晰,也易于维护。
默认情况下,系统使用int型作为基础类型,且第一个元素的值为0,其后每一个元素的值依次递增1。
GetNames 方法:显示枚举定义中所有成员的名称。

16.可空类型:表示可以包含null的值类型。例:int? n = null;
特别用于处理数据库中元素的数据类型时。bool型字段可存true或false,但是若该字段未定义,则用null表示。

2.3 字符串

17.在C#语言中,字符串是由一个或多个Unicode字符构成的一组字符序列。
string的s大写小写效果是一样的。
而在Java中S必须大写。。。

18.创建字符串的方法有多种,最常用的一种是直接将字符串常量赋给字符串变量,例如:string s1 = “hello world”;
另一种常用的操作是通过构造函数创建字符串类型的对象。例如:string s2 = new string(‘a’,4); //结果为aaaa。
也可以直接利用格式化输出得到希望的字符串格式。
例如:string s =string.Format("{0,30}",’ '); //s为30个空格的字符串。

19.计算字符串长度时,每个英文字母的长度是1,每个汉字的长度也是1。

20.字符串的常用操作有字符串比较、查找、插入、删除、替换、求子串、移除首尾字符、合并与拆分字符串以及字符串的大小写转换等。

21.字符串比较:可以用string.Compare(string s1,string s2)方法。
s1大于s2返回1,等于返回0,小于返回-1。
若仅比较两字符串是否相等,最好使用 == 或 Equals 方法来比较。Console.WriteLine(s1.Equals(s2)); //返回true

22.字符串查找:除了可以直接用string[index]获取字符串中第index(从0开始)个位置的单个字符外,可以使用下面的方法查找指定的子字符串:
(1)Contains 方法:用于查找一个字符串中是否包含指定的子字符串,
语法:public bool Contains ( string value );(注:语法是不能直接用的)
(2)StartsWith方法和 EndsWith方法:用于从字符串的首或尾开始查找指定的字符串,
并返回布尔值(true或false)。(注:方法是用实例来调用的)
(3)IndexOf 方法:用于求某个字符或者子串在字符串中出现的位置。该方法有多种重载形式,最常用的有如下两种:
①public int IndexOf( string s ) :这种形式返回s在字符串中首次出现的位置(从0开始索引)。若字符串中不存在s,返回-1。
②public int IndexOf( string s,int startIndex ) :从startIndex处开始查找s。(别的和1一样)。
(4)IndexOfAny方法:用于查找某个字符串中是否包含某些字符(多个不同的字符)。(用IndexOf方法分别查找也可行,不过麻烦)。
常用语法:public int IndexOfAny( char[ ] anyof );

23.获取字符串中的子字符串:用 Substring 方法。例如:string s2 = s1.Substring(2,3) 从第2个(下标2,实际上是第3个)字符开始,取3个字符。

24.插入、删除、替换子字符串:
• 从 startIndex 开始插入子字符串 value。public string Insert( int startIndex, string value )
• 删除从 startIndex 到字符串结尾的子字符串。public string Remove( int startIndex )
• 删除从 startIndex 开始的 count 个字符。public string Remove( int startIndex, int count )
• 将 oldChar 的所有匹配项均替换为 newChar。public string Replace( char oldChar, char newChar )
• 将 oldValue 的所有匹配项均替换为 newValue。public string Replace( char oldValue, char newValue )

25.移除首尾字符:利用 TrimStart 方法可以移除字符串首部的一个或多个字符,TrimEnd可以移除字符串尾部,Trim可以移除首尾。
三种方法中,若不指定要移除的字符,则默认移除空格。

26.字符串中字母的大小写转换:ToUpper 方法,将所有英文字母转为大写,转为小写可用 ToLower 方法。

2.4 数组

27.数组:用于存储同一种数据类型的数据,C#数组是引用类型而不是值类型。
数组的秩 (rank) 是指数组的维数。数组长度是指数组中所有元素的个数。在 C# 中,数组的最大容量默认为 20GB。
只有在 C# 中,可以一开始不指定数组元素个数,而是在使用数组元素前才动态的指定元素个数。

28.用简化形式为各元素赋初值:string[ ] a = { “first”,“second”,“third” };
不带 new 运算符的简化形式只能用在声明语句中。
因为语句中的 new 运算符用于创建数组并将数组元素初始化为它们的默认值。
例如:int 类型的数组每个元素初始值默认为 0,bool 类型的是 false 等等。
如果数组是引用类型,则实例化该类型时,数组中的每个元素默认为 null。


  • https://blog.csdn.net/qq_43763494/article/details/102018253----【BLOG OUTLINE】博客大纲 ( ̄▽ ̄)"

你可能感兴趣的:(C#,知识点)