您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 给排水/暖通与智能化 > C#学习笔记高级部分 夜晚不回家
程序员之家C#学习资料整理学习笔记夜晚回家2010/6/14学习资料整理中关键字的小提示.................................................1如何产生随机数....................................................1反射-获取运行时方法的信息.........................................1在C#中使用Params关键字..........................................3利用正则表达式统计单词个数..........................................3标签(Label)随鼠标移动而移动.......................................4如何从你的应用程序执行exe文件......................................4在控制台应用程序中隐藏用户的密码.....................................5在asp.net页面上实现媒体播放.......................................6a.Equals(b)和a==b之间的区别..................................8使用ArrayList...................................................9创建和使用HashTable.............................................10SortedList:存储键值对的集合......................................10栈:先进后出队列..................................................12队列:先进先出列表................................................14在C#中遍历和排序对象集合..........................................15StringWriter实现的一个功能.......................................19创建一个文本文件并写入文本.........................................20序列化对象到文件..................................................20文件夹拷贝.......................................................24使用C#解析简单XML...............................................25读XML文件......................................................26用XmlWriter写XML文件...........................................27插入数据到XML文档...............................................29程序员之家C#学习资料整理中关键字的小提示C#不允许使用关键字作为标识符。虽然使用关键字作为标识符名称是不可取的但有时使用其他语言的代码可能会需要使用关键字作为标识符。在这种情况下可以在关键字前面加一个@符号用在标识符。usingSystem;classTest{staticvoidMain(){string@string=Mystring;}void@void(){Console.WriteLine(VoidMethod);}}在上面的示例中定义了一个变量名为@string的字符串变量和一个方法名为@void的方法。参考地址:=1702.0如何产生随机数Randomrand=newRandom();//产生一个10到20之间的随机数intnum1=rand.Next(10,20);//产生一个小于100的随机数intnum2=rand.Next(100);参考地址:=1703.0反射-获取运行时方法的信息usingSystem;usingSystem.Reflection;classThisClass{intfirstValue,secondValue;publicintsum(){returnfirstValue+secondValue;}publicvoidassign(inta,intb){程序员之家C#学习资料整理=a;secondValue=b;}}classReflectionDemo{publicstaticvoidMain(){Typet=typeof(ThisClass);//getaTypeobjectrepresentingThisClass.Console.WriteLine(Analyzingmethodsin+t.Name);Console.WriteLine(\nMethodssupported:\n);MethodInfo[]methods=t.GetMethods();//ObtainsListofmethods.foreach(MethodInfominmethods){Console.Write(.+m.ReturnType.Name++m.Name+();ParameterInfo[]parameters=m.GetParameters();//Obtainslistofparameters.for(inti=0;iparameters.Length;i++){Console.Write(parameters[i].ParameterType.Name++parameters[i].Name);if(i+1parameters.Length)Console.Write(,);}Console.WriteLine());Console.WriteLine();}Console.ReadLine();}}下面代码是GetMethods()的重载方法:MethodInfo[]methods=t.GetMethods(BindingFlags.DeclaredOnly|BindingFlags.Instance|BindingFlags.Public);说明DeclaredOnly=指定只应考虑在所提供类型的层次结构级别上声明的成员。Instance=指定实例成员。Public=指定公共成员。参考地址:=1720.0程序员之家C#学习资料整理中使用Params关键字有时方法可能需要接受可变个数的参数。为了达到这个目的C#提供了params关键字。使用params关键字的语法paramsdatatype[]argumentname为了使用params关键字必须声明一个一维数组作为参数。在参数前面添加了params关键字,C#将可以接收任意个值(包括没有)作为参数。publicclassTest{publicintSum(paramsint[]num){inttotval=0;foreach(intninnum){totval+=n;}returntotval;}publicstaticintMain(string[]args){TestT=newTest();Console.WriteLine(T.Sum());Console.WriteLine(T.Sum(3,2));Console.WriteLine(T.Sum(50,60,100,150));return0;}}程序输出结果:05360参考地址:=1711.0利用正则表达式统计单词个数正则表达式可以快速在一块文字中进行模式匹配。.NET支持正则表达式。看下面代码段用于统计文字中单词的个数stringexp=(.*?)+word+(.*?);Regexreg=newRegex(exp);MatchCollectionmatches=Regex.Matches(text,exp,RegexOptions.IgnoreCase);程序员之家C#学习资料整理=matches.GetEnumerator();MessageBox.Show(matches.Count.ToString());参考地址:=1714.0标签(Label)随鼠标移动而移动1.定义一个Point对象mouse_offset,用于保存鼠标的位置2.对标签(Label)添加MouseDown事件,记录当前鼠标所在的位置为实例化mouse_offset对象privatevoidlblMove_MouseDown(objectsender,MouseEventArgse){mouse_offset=newPoint(-e.X,-e.Y);}3.对标签(Label)添加MouseMove事件,实现标签(Label)随鼠标的移动而移动privatevoidlblMove_MouseMove(objectsender,MouseEventArgse){if(e.Button==MouseButtons.Left){PointmousePos=Control.MousePosition;mousePos.Offset(mouse_offset.X,mouse_offset.Y);((Control)sender).Location=((Control)sender).Parent.PointToClient(mousePos);}}参考地址:=1420.0如何从你的应用程序执行exe文件usingSystem;usingSystem.Diagnostics;classTest{publicstaticvoidMain(){ProcessexeProcess=newProcess();exeProcess.StartInfo.FileName=@cmd.exe;exeProcess.StartInfo.Arguments=;exeProcess.Start();}}System.Diagnostics命名空间:提供特定的类,使您能够与系统进程、事件日志和性能计数器进行交互。Process类:提供对本地和远程进程的访问并使您能够启动和停止本地系统进程。程序员之家C#学习资料整理Process.StartInfo属性:获取或设置要传递给Process的Start方法的属性。ProcessStartInfo类:指定启动进程时使用的一组值。ProcessStartInfo.FileName属性:获取或设置要启动的应用程序或文档。ProcessStartInfo.Arguments属性:获取或设置启动应
本文标题:C#学习笔记高级部分 夜晚不回家
链接地址:https://www.777doc.com/doc-6314645 .html