C#基础概要笔记

1.三条控制台指令:

  Console.WriteLine :打印输出 Console.ReadLine :从控制台读入一行 Console.ReadKey :控制台暂停

例1:

1 static void Main(string[] args)
2 {
3 Console.WriteLine("请输入您的名字:");
4 string name = Console.ReadLine();
5 Console.WriteLine("{0}您好!",name);
6 Console.ReadKey();
7 }

2.占位符是个什么玩意儿?{0}的个数必须和参数的个数一样,是一一对应的关系。(演示如例1)

3.常用基本数据类型

C# 数据类型       大小             默认值       示例

sbyte(byte)     有(无)符号的 8 位整数    0        byte gpa = 2;

short(ushort)     有(无)符号的 16 位整数      0        short salary = 3400;

int(uint)      有(无)符号的 32 位整数      0        int rating = 20;

long(ulong)    有(无)符号的 64 位整数      0L        long population = 23451900;

float        32 位浮点数,精确到小数点后 7 位 0.0F       float temperature = 40.6F;

double      64 位浮点数,精确到小数点后 16 位 0.0D       double temperature = 40.6;

decimal      128 位数据类型,精确到小数点后 28 位 0.0M       decimal temperature = 40.6M

4。转义字符

   为什么输出"要用转义符"\"",因为编译器默认是遇到"(双引号)作为开始字符串,再遇到"是作为结束字符串,但是如果遇到前面有\的"就不把它当成有字符串起始意义的"。 string:"\"ab\""、"ab\nb"、"c:\\a.txt"、@"c:\a.txt"(推荐)。@表示字符串中的\不当成转义符 @不是万能的,不能解决字符串中有双引号的问题,如果有双引号还是用转义符

5.类型转换

简单的类型转换:Convert.ToString()、ToString()、Convert.ToInt32() 。 类型转换Convert Convert不再是内存级别的转换,而是考虑数据意义的转换。可以把姓名Convert成人。Convert是一个加工、改造的过程 Convert.ToInt32、Convert.ToString、每种类型都还有ToString方法(类型的ToString和Convert.ToString略微的差别暂时不用关心)

6.赋值表达式

C#中赋值表达式也有值,它的值表示为赋值后变量的值

例2:

1 static void Main(string[] args)
2 {
3 int i = 0;
4 Console.WriteLine("{0}", i = 10);
5 Console.ReadKey();
6 }

输出结果为:10

7.组合运算

组合运算:&&(并且)、||(或者)。 && 并且:只有两边都为true的时候,表达式的值才为true,否则是false; || 或者:两边只要有一个为true的时候,表达式的值就是true,否则是false;

8.枚举

确定数量、确定值的几个取值:东西南北、男女、上中下。 enum Gender{male,female} enum QQStatus{online,offline,hidden} 为什么有枚举,如果用string来表示四季:

//1、需要在每个地方都进行数据合法性的校验

//2、给函数传递参数的时候,只有看文档才只能哪些值合法 枚举的用法,QQStatus status = QQStatus.online; 和用字符串比起来,用枚举的好处就是限定了变量的取值范围,程序处理起来更方便。

9.函数参数

函数参数 可变参数 参数数组:int sum(params int[] values) int sum(string name,params int[] values) 可变参数数组必须是最后一个 参数默认值(.Net4.0) :void SayHello(string name,int age=20)

10.String类常用函数

ToLower():得到字符串的小写形式。 注意字符串是不可变的,所以这些函数都不会直接改变字符串的内容,而是把修改后的字符串的值通过函数返回值的形式返回。 s.ToLower()与s=s.ToLower() ToUpper():得到字符串的大写形式;

Trim()去掉字符串两端的空白。

s1.Equals(s2, StringComparison.OrdinalIgnoreCase),两个字符串进行不区分大小写的比较。

11.字符串的分割

string[] Split(params char[] separator):将字符串按照指定的分割符分 割为字符串数组;

string[] Split(char[] separator, StringSplitOptions options)将字符串按照指定的char分割符分割为字符串数组( options 取RemoveEmptyEntries的时候移除结果中的空白字符串);

string[] Split(string[] separator, StringSplitOptions options)将字符串按照指定的string分割符分割为字符串数组。

12.字符串函数详解

字符串替换:

string Replace(string oldValue, string newValue) 将字符串中的出现oldValue的地方替换为newValue。例子:名字替换。

取子字符串:string Substring(int startIndex),

取从位置startIndex开始一直到最后的子字符串; string Substring(int startIndex, int length),

取从位置startIndex 开始长度为length的子字符串,如果子字符串的长度不足length则报错。

bool Contains(string value)判断字符串中是否含有子串value

bool StartsWith(string value)判断字符串是否以子串value开始;

bool EndsWith (string value)判断字符串是否以子串value结束;

int IndexOf(string value):取子串value第一次出现的位置。