代码语言:javascript复制
1 第二章第 1 节值类型引用类型介绍和字符串练习
2 [code]using System;
3 using System.Collections.Generic;
4 using System.IO;
5 using System.Linq;
6 using System.Text;
7 using System.Threading.Tasks;
8
9 namespace 字符串联系
10 {
11 class Program
12 {
13 static void Main(string[] args)
14 {
15 string[] txts = File.ReadAllLines("info.csv", Encoding.Default);
16
17 //拿到一个字符串数组进行遍历
18 for(int i=0;i<txts.Length;i )
19 {
20 //对读取的每一行进行 //去掉多余的符号,比如逗号、双引号//将读取的结果返回到一个数组中去
21 string[] lines =txts[i].Replace(""", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
22 Console.WriteLine("业主的姓名是“{0}”,手机是{1}", lines[0] lines[1], lines[2]);//lines[0] lines[1]合并为{0}的占位符
23 }
24 Console.ReadKey();
25 }
26 }
27 }
28 [/code][code]
29 using System;
30 using System.Collections.Generic;
31 using System.Linq;
32 using System.Text;
33 using System.Threading.Tasks;
34
35 namespace 值类型与引用类型
36 {
37 class Program
38 {
39 static void Main(string[] args)
40 {
41 #region 字符串倒序输出
42
43
44 ////接收用户输入的字符串,将其中的字符以与输入相反的顺序输出
45 //Console.WriteLine("请输入要转换的字符串:");
46 //string str = Console.ReadLine();
47 //for (int i = str.Length - 1; i >= 0; i--)
48 //{
49 // Console.Write(str[i]);//给变输出的方式。就成了按一行输出了
50
51 //}
52
53 //// str = getReverse(str);
54
55 ////Console.WriteLine(str);
56 // Console.ReadKey();
57 #endregion
58 #region //接收用户输入的一句英文,将其中的单词,以反序的方式输出
59 //接收用户输入的一句英文,将其中的单词,以反序的方式输出
60 Console.WriteLine("请输入一句英文:");
61 string str = Console.ReadLine();
62 //I Love You
63 string[] msg = str.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
64 // 返回值不包括含有空字符串的数组元素
65 for (int i = 0; i < msg.Length; i )
66 {
67 msg[i] = getReverse(msg[i]);//对每个单词进行反序
68 Console.Write(msg[i] ' ');
69 }
70 Console.ReadKey();
71 #endregion
72 }
73
74
75 #region 字符串倒叙输出定义的方法
76
77 private static string getReverse(string str)
78 {
79 char[] ch = str.ToCharArray(); //字符串转化为一个字符的数组
80 char Temp=' ';//需要加一个空格
81 for(int i=0;i<ch.Length/2;i )
82 {
83 Temp=ch[i];
84 ch[i]=ch[ch.Length-1-i];
85 ch[ch.Length-1-i]=Temp;
86 }
87 return new string(ch);//将字符数组放进来,就可以得到一个字符串//字符串转化为//一个字符的数组转化为一个字符串;
88
89 }
90 //注意注释 * 与 / 之间不能有空格的出现;
91 #endregion
92
93 }
94 }
95
96 [/code]
C2第 2 节: 字符串的练习下
代码语言:javascript复制1 C2第 2 节: 字符串的练习下
2 [code]using System;
3 using System.Collections.Generic;
4 using System.Linq;
5 using System.Text;
6 using System.Threading.Tasks;
7
8 namespace 字符串练习2
9 {
10 class Program
11 {
12
13 static void Main(string[] args)
14 {
15
16 #region //练习:123-456---7---89-----123----2把类似的字符串中重复符号”-”去掉,
17 ////既得到123-456-7-89-123-2.
18 //string str = "123-456---7---89-----123----2";
19 //string[] txt = str.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
20 //string newstr = string.Join("-", txt);//字符数字有一个静态的Join方法、、返回值是一个新的字符串
21 //Console.WriteLine(newstr);
22 //Console.ReadKey();
23 #endregion
24 //* 练习:“192.168.10.5[port=21,type=ftp]”,这个字符串表示IP地址为192.168.10.5的服务器的21端口提供的是ftp服务,其中如果“,type=ftp”部分被省略,则默认为http服务。请用程序解析此字符串,然后打印出“IP地址为***的服务器的***端口提供的服务为***”
25 string str = "192.168.10.5[port=21,type=ftp]";
26 string[] msg=str.Split(new string[] { "[port=", "type=", "]" },
27 StringSplitOptions.RemoveEmptyEntries);
28 Console.WriteLine("Ip地址:{0}",msg[0]);
29 Console.WriteLine("端口号:{0}",msg[1]);
30 Console.WriteLine("协议类型:{0}",msg.Length>2?msg[2]:"http");
31 Console.ReadKey();
32 }
33
34
35 }
36 }
37 [/code]
C2第3节ref和out、装箱与拆箱
C2第3节ref和out、装箱与拆箱 1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。 2、使用ref和out时,在方法的参数和执行方法时,都要加ref或out关键字。以满足匹配。 3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。 装箱拆箱
代码语言:javascript复制1 [code]
2 using System;
3 using System.Collections.Generic;
4 using System.Linq;
5 using System.Text;
6 using System.Threading.Tasks;
7
8 namespace ref与out
9 {
10 class Program
11 {
12 static void Main(string[] args)
13 {
14 //int n=10;
15 //int result = Show(ref n);//使用ref型参数时,传入的参数必须先被初始化。
16 //Console.WriteLine(result);
17 //Console.ReadKey();
18 int num ;//= 500; //此处的变量num没必要初始化
19 int result = Show(out num);//记得此处需要加关键字 out
20 Console.WriteLine(result);
21 Console.ReadKey();
22 }
23 ////ref型参数可进可出方法,但在进入前需要先初始化
24 //public static int Show(ref int num)
25 //{
26 // return num 1000;
27 //}
28 ////out型参数只出不进(可以进)方法,但是在方法里边需要先初始化
29 public static int Show(out int num)//错误 1 无法定义重载方法“Show”,因为它与其他方法仅在 ref 和 out 上有差别//说明ref与out是等价的关系、、ref与out只有一个存在
30 {
31 num = 100;//此处num前边不需要加关键字 int num = 100;
32 return num 123;//错误 1 当前上下文中不存在名称“num”//需要先对out值在方法中初始化
33
34 }
35 }
36 }
37 [/code]
38
39 [code]
40 using System;
41 using System.Collections.Generic;
42 using System.Linq;
43 using System.Text;
44 using System.Threading.Tasks;
45
46 namespace 装箱与拆箱
47 {
48 class Program
49 {
50 static void Main(string[] args)
51 {
52 int num = 100;
53 object obj = num;//装箱
54 //值类型隐式的转换为引用类型--装箱
55
56 double db = (object)obj;//拆箱但是失败了,装箱是什么类型的值就读取什么类型的值
57
58 }
59 }
60 }
61 [/code]