C#基础学习笔记

来源:互联网 发布:伤感网络红歌 编辑:程序博客网 时间:2024/04/29 05:23
1、三个///叫文档注释,用于对类和方法进行注释的


2、#region和#endregion配合使用可以折叠一段代码,选中要折叠的代码,然后用快捷键Ctrl+k,s


3、在c#开发环境中,直接写一个有小数点的数字,这个数字是double类型的。在一个小数后面加一个m/M,就告诉编译器,
   这个数字是decimal类型的数。

4、c#变量命名编码规范--Camel(骆驼)命名法:首个单词的首字母小写,其余单词的首字母大写。在方法中用Camel命名法。
   Pascal命名规范:每一个单词首字母都大写。定义全局变量。如果使用到英文单词的缩写,全部用大写如PI。
   
5、"+"在c#中有两种意义:1)是数学上的加法运算:两边参与运算的数据类型是数字类型;
2)是连接的意思:两边参与加号运算的数据有一个是字符类型,那么这个"+"就是连接的意义
6、c#中一个\+一个特殊字符组成转义字符例如:\n(回车),\t(tab)有多个空格组成的一个字符,具有行与行的对齐功能。
\b(backspace) \\表示一个\ \"输出"    \'输出'

7、在字符串前面加@符号有两个意义:1)字符串中有转义符\时不再理解为转义符。2)使字符串可以换行。


->练习1:让用户输入姓名,语文/数学/英语成绩,求总分和平均分并在屏 幕上输出xx的总成绩是xx,平均分是xx。


->练习2:编程实现几天(46)是几周零几天。


->练习3:编程实现107653秒是几天几小时几分钟几秒。


->练习4:让用户输入张三的语文和数学成绩判断下面情况是否正确,正确 输出True,错误输出False
1)语文和数学成绩都大于90分 
2)语文和数学有一门大于90分

->练习5:判断闰年。


8、逻辑运算符的短路问题。
   int a=10,b=5; 
   bool result = ++a > 50 && ++b > 1;
   Console.WriteLine("a={0},b={1}",a,b);
   ++a > 50表达式的值为False,可以直接得出整个表达式的值为False
   所以执行完表达式++a > 50后就不再执行++b > 1表达式,所以输出的   结果是:a = 11, b = 5;
   
->练习1:让用户输入年龄,如果年龄大于18岁,则给用户显示你已成年。


->练习2:让用户输入用户名和密码,如果用户名是admin,密码是mypass,则提示登录成功。


->练习3:提示用户输入用户名,然后在提示用户输入密码,如果用户名是admin,并且密码是888888,则提示正确,
否则如果用户名不是admin还提示用户名不存在,如果用户名是admin则提示密码错误。
 
->练习4:用户输入年份,输入月份,输出该月的天数。


->练习5:打印100次“欢迎您来传智博客学习”。


->练习6:输入班级人数,然后依次输入学员的成绩,最后显示学员的平均成绩和总成绩。


->练习7:老师问学生这道题你会做了吗?如果学生回答会了(y),则可以放学,如果学生不会做(n),则老师再讲一遍,
再问学生会做了吗......直到学生会了或者老师讲了10遍都放学。
 
->练习8:2006年培养学员8万人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人。


->练习9:要求用户输入用户名和密码,只要不是admin和888888,就一直提示用户名或者密码错误,请重新输入。


->练习10:不断要求用户输入学生姓名,输入q结束。


->练习1:不断要求用户输入一个数字,然后打印这个数字的2倍,当用户输入q的时候程序退出。


->练习2:不断要求用户输入一个数字,当用户输入end的时候显示刚才输入数字的最大值。


->练习3:求1--100间所有偶数的和。


->练习4:找出100--999间的所有水仙花数。


->练习5:打印九九乘法表。


9、枚举类型。定义:enum 自己起的类型名字 {值1,值2,值3,...值n}
枚举的定义一般和类的定义在同一个级别,这样在同一个命名空间下的所有类都可以使用这个枚举了。
定义枚举时的值不能是int类型。所有的枚举类型的值都可以强制转换成int类型。
枚举的值在定义的时候是有一个默认的编号的,编号从0开始。
如何把一个字符串转换为枚举类型:自枚:自己定义的枚举类型。
(自枚)(Enum.Parse(typeof(自枚),"待转换字符串"))

10、结构。结构的定义:访问修饰符 struct 结构名 {定义结构成员},结构中定义结构成员要加public修饰符。
 定义好结构后就可以声明变量了,声明好变量后,通过 变量名.成员名,来访问结构的成员。
 
->练习1:定义一个结构叫MyColor,有三个成员分别为red,green,blue  声明一个MyColor类型的变量并对其成员赋值,
使MyColor可以表示成一个红色。
 
->练习2:定义一个结构类型Person有三个成员,分别为姓名,性别,年龄.声明两个Person类型的变量分别表示 
张三 男 18岁|小兰 女 16岁。
 
11、int类型的数组一旦声明,里面的所有元素会被初始化为0. string类型的数组定义的时候不会被初始化。所以使用前要先赋值。
Console.Clear();清屏函数

->练习1:从一个整数数组中取出最大的整数。


->练习2:计算一个整数数组所有元素的和。


->练习3:将一个字符串数组输出为|分割的形式,比如"梅西|卡卡|大世"。


->练习4:将一个整数数组的每一个元素做如下处理,如果元素是正数则将这个元素的值加1,如果元素是负数则将这个位置的元素
的值减1,如果元素的值是0,不处理。
 
->练习5:将一个字符串数组元素的顺序进行反转。{"3","a","8","haha"}{"haha","8","a","3"}


12、方法。功能:用来复用代码的.当我们在一个程序中写了同样的代码.那么一般情况下,我们可以把需要重复写的代码
 定义在一个方法中,用的时候调用就可以了。
->方法的定义:[访问修饰符][static]返回值类型 方法名(参数){方法体}
1)方法一般要定义在类中。2)如果方法没有返回值,则返回值类型写void

->命名规则:方法名开头大写,参数名开头小写,方法名、变量名要有意义

->方法的调用:
如果是静态方法(由static修饰)则使用类名.方法名();在类中调用自己的方法可以只写方法名()。
return:立即退出所在的方法。

12、在方法中定义的变量称为局部变量。作用域是从定义开始到其所在的大括号结束为止。


->练习1:写一个方法判断一个年份是否是闰年bool LeapYear()。


->练习2:写一个方法求两个整数中最大值int Max(int x,int y)。


->练习3:写一个方法求整数数组中元素的最大值int Max(int[] values)。


->练习4:写一个方法计算数组的和int Sum(int[] values)。


13、字段:一个变量一旦定义在方法的外面,类的里面,就叫做类的字段。这个变量就可以被本类的所有方法访问。
 注意:静态方法只能访问静态字段,非静态方法(实例方法)既可以访问静态字段又可以访问非静态(实例)字段。
 方法不管是不是静态都可以访问常量,const修饰的常量不能声明为静态的。
 
14、方法只能返回一个值,如果想要方法返回多个值怎么办?这就要用到参数反值了。方法中的out参数和ref参数。
在方法的参数前加out,那么在调用该方法的时候所传的参数也要加out,out修饰的参数不是用来向方法传入值得,
而是用来向方法外传出值的。如果参数是以out形式传入的,那么在传入前可以不赋初值,在方法中对于由out修饰的参数,
必须先赋值,才能使用。例如int.TryParse(string s,out int result)。out注重传出值  ref是用于双向传值类似于
c语言中的指针,一旦参数中。

->练习1:写一个方法MyTryParse()方法,要求用户传入一个字符串,如果转换成功,则返回true,
并且转换后的int类型的数据通过方法的参数传出,如果字符串不能转换成int类型数据,则返回false,
那么out传出的参数就没意义了,随便赋一个值就行了。
 
->练习2:写一个方法计算整型数组中的每个元素的总和,最大值,最小值


->练习3:重复让用户输入一个数,判断是否是质数,输入q结束,判断质数写一个方法实现。


->练习4:将一个字符数组输出为|分割的形式,比如"梅西|卡卡|郑大世"(用方法实现)。


->练习5:用方法实现找出一个int类型数组中最大值和最小值功能。


->练习1:提示用户输入用户名,然后再提示输入密码,如果用户名是“admin”并且密码是“888888”,则提示正确,
否则提示错误,如果用户名不是admin还提示用户用户名不存在。


->练习2:提示用户输入年龄,如果大于等于18,则告知用户可以查看,如果小于10岁,则告知不允许查看,如果大于等于10岁,
则提示用户是否继续查看(yes、no),如果输入的是yes则提示用户可以查看,否则提示不可以查看.(给出测试用例)


->练习3:从一个整数数组中取出最大的整数


->练习4:计算一个整数数组的所有元素的和。


->练习5:将一个字符串数组输出为|分割的形式,比如{“浮云”,”神马”,”穿梭”}数组输出为“浮云|神马|穿梭”。
不要使用String.Join等.Net内置方法。


->练习6:有一个整数数组,请声明一个字符串数组,将整数数组中的每一个元素的值转换为字符串保存到字符串数组中。


->练习7:将一个字符串数组的元素的顺序进行反转。{"3","a","8","haha"} 转换为{"haha","8","a","3"}。
提示:第i个和第length-i-1个进行交换。


->练习8:将一个整数数组排序后输出。使用冒泡排序和选择排序法。

原创粉丝点击