博文
C#学习笔记_16(2010-03-15 12:05:00)
摘要:十六、String大练兵_1。1、 设计一个从Email邮箱中提取用户名的程序。该程序需满足一下要求:→由用户控制程序是否继续。输入yes就循环执行,直到输入no。→yes,no不论大小写都可识别。→从用户输入的Email地址中提取用户名。
2、新建控制台程序取名Email Parse,在Main方法中输入下列代码:string sEmail, sChoose, sName; do { Console.WriteLine("请输入EMail:"); sEmail = Console.ReadLine(); int iIndex = sEmail.IndexOf("@"); if (iIndex == -1) { &......
C#学习笔记_15(2010-03-12 14:33:00)
摘要:十五、换个马甲,简单数据类型间的数值转换。1、 转换分类:隐式转换、显示转换、数值转为字串、字串转为数值。Convert方法。2、 各种转换类型在什么时候使用?隐式转换:用于数值类型。当数值范围小于目标数据范围都可以使用隐式转换。如:整型→长整型;整型→单精度;单精度→双精度。 使用方法:float f;int i = 1;f = i;直接赋值即可。 思考:反过来赋值会如何?显示转换:同样用于数值类型。使用条件刚好和隐式转换相反。 使用方法:int I; float f = 2.5f; I = (int)f; 思考:(int)是什么意思?数值转为字符串:所有数值类型都带有ToString方法。 使用方法:int i = 1;string s; s = i.ToString();字串转为数值:用parse; 使用方法:int i;string s =”1”; i.Parse(s);
超牛的Convert,各种类型间互相转换。使用方法:int i; double d = 25.5; i = conver.ToInt32(d);......
C#学习笔记_14(2010-03-12 10:59:00)
摘要:十四、实操,值传递引用传递。1、 新建控制台应用程序,取名“Swap”。2、 在class Program{}中输入下列代码:
static void Main(string[] args) { int iTemp, a, b; Console.WriteLine("请输入2个数值进行交换:"); a = int.Parse(Console.ReadLine()); b = int.Parse(Console.ReadLine()); iTemp = Swap(ref a, ref b); Console.WriteLine("交换后的值分别是{0}\t{1}", a, b); Console.ReadLine(); }
private static int Swap(ref int a, ref int b) &nb......
C#学习笔记_13(2010-03-12 10:26:00)
摘要:十三、来点概念型的。命名空间、方法定义、参数。1、 命名空间:书本上说的,“命名空间”是.Net提供的用来组织代码的一种方法,用来唯一表示代码。相当于Java中的Package概念。(呵呵,没用过Java不知道Package是什么概念。)先说“唯一表示一段代码”,这里我的理解是相当于Delphi中不同unit文件中声明了同名函数,当在一个Application中包含这两个unit文件并且想正确调用函数时,我们需要按下面格式调用:单元名.函数名。这样才不至于引起混乱。再说“相当于Java中的Package概念”,我的理解是相当于引用一个Dll文件(没验证过,有知道的留言。)
2、 C#中方法定义格式:访问修饰符 返回类型 方法名(参数类型:参数名,……){
} 访问修饰符:Private, public, protected 返回类型:方法返回的数据类型就是方法的返回类型,不用返回用void限定符。 方法名:任意符合C#命名规范的名称。最好是有实际含义的动宾结构。如:WriteLine 参数列表:参数列表中每个参数都用“类型:参数名”的形式表示,参数之间用“,”号分开。 3、 参数传递:值传递,引用传递比较:A、 值传递传递数值,引用传递传递地址。B、 声明:值传递:方法名(参数类型 参数名){}引用传递:方法名(ref 参数类型 参数名){}C、 调用:值传递:方法名(参数名);引用传递:方法名(ref 参数名);......
C#学习笔记_12(2010-03-11 17:59:00)
摘要:十二、冒泡自习,代码中内层循环的终止条件是什么?如果第一层循环的判断条件改为i<=6,终止条件又是什么?int[] array1 = {1, 8, 24, 2, 7, 5, 11 }; int temp; for (int i = 0; i <=6; i++) { for (int j = 0; j< ;j++) { if (array1[j] < array1[j + 1]) { &nbs......
C#学习笔记_11(2010-03-10 09:12:00)
摘要:十一、是程序员必须冒泡,一维数组和冒泡算法
1、数组的声明方式,来和Delphi的比较一下。
A、先看C#的
int[] array = new int[5];这里由于没有赋初值所以C#会给个初始值。数值类型初始值是0,应用类型是null。思考:字符串的初始值应该是什么?
int[] array1 = new int[]{1,2,3,4,5};
int[] array2 = {1,2,3,4,5};这里数值索引默认从0开始。
B、再来看看Delphi的
var
array0: array of integer; -->不定长数组,需用setlength设置数组长度。
array1: array[0..5] of integer; -- >定长数组,不需要setlength设置数组长度。
好了不多说,下面冒泡:
int iTempStorage; int[] array1 = new int[] {13, 28, 19, 6, 7, 55 }; for (int i = array1.Length - 1; i >= 0; i--) {&......
C#学习笔记_10(2010-03-08 16:35:00)
摘要:十、打通筋脉,来个嵌套循环。1、某服装厂有3个生产班组,每个班组有2个人。请编程让电脑接收每个组员每天生产衣服的数量并打印出来,然后统计出各组每日生产衣服数量。
int isum, iReceived; for (int i = 1; i <= 5; i++ ) { isum = 0; //Console.WriteLine("请输入第{0}组的上交衣服数量", i); for (int j = 1; j <= 3; j++) { Console.WriteLine("请输入第{0}组第{1}位员工上交衣服数量", i, j); iRec......
C#学习笔记_9(2010-03-08 15:50:00)
摘要:九、尝尝鲜,foreach带来什么?string sFamousSinger = "周杰伦: 身高1.82m;年龄31;love:yellow"; foreach (char c in sFamousSinger) { Console.WriteLine(c); } Console.ReadLine(); 竟然char都支持Unicode!赶紧F1看看,原来和string一样的定义方式,看来.Net是全面OO了呀!!!I 服了 you!......
C#学习笔记_8(2010-03-08 14:42:00)
摘要:八、循环输出单个字符, while、do..while版。1、while 版。string sFamousSinger = "周杰伦: 身高1.82m;年龄31;love:yellow"; int index = 0; while (index != sFamousSinger.Length) { Console.WriteLine(sFamousSinger.Substring(index, 1)); index++; } Console.ReadLine();
2、 do..while版。 string sFamousSinger = "周杰伦: 身高1.82m;年龄31;love:yellow"; int index = 0; &n......
