随笔分类 - .net学习之路
不忘初心 方得始终
017天(.net学习之路-C#基础知识)-委托(delegate)及多播委托
摘要:委托:将方法作为方法的参数声明委托的方式:delegate 返回值类型 委托类型名(参数)比如delegatevoid StringProcess(string s);注意这里的除了前面的delegate,剩下部分和声明一个函数一样,但是StringProcess不是函数名,而是委托类型名声明的委托是一种类型,就像int、Person一样,如果要用的话还要声明委托类型的变量,声明委托类型变量的方式:StringProcessf1;将委托类型变量指向函数StringProcess sp = newStringProcess(SayHello),这样就可以像调用普通函数一样把sp当成函数用了。委托
阅读全文
016天(.net学习之路-C#基础知识)-XML基础
摘要:可扩展的标记语言(eXtensible Markup Language),XML非常严谨,当遇到语法错误的时就会停止工作。XML基础XML编写XML查询XML序列化一、XML基础(一)、XML优点: 容易读懂;格式标准任何语言都内置了XML分析引擎,不用单独进行文件分析引擎的编写。(二)、XML的组成(三)、XML语法规范:标签(Tag)、嵌套(Nest)、属性。标签要闭合,属性值要用""包围,标签可以互相嵌套,大小写敏感(CaseSensitive)(四)、元素规则1、名字中不能包含空格2、名字不能以数字、标点符号、xml开头3、左尖括号(<)后不可以有空格4、起始
阅读全文
015天(.net学习之路-C#基础知识)-正则表达式(UBB翻译、敏感词处理)
摘要:一、UBB翻译 为了防止用户用恶意代码留言,大部分论坛都不允许使用HTML语句做为回帖内容(或者进行了转义),但是这限制了用户的发挥,比如用户无法粘贴超链接、无法粘贴图片地址,无法把自己发送的文字进行加粗,改变字号。为了解决这个问题,人们设计出了UBB代码,它提供了有限的、无危害的功能,用户只要遵循代码规则就可以实现用户想要的功能。 UBB实现:字符串替换Replace二、敏感词处理直接实例来说明(老被和谐,让哥也和谐一把)实例:1、做一个WinForm页面,放一个多行文本框,点击按钮对文本框中的内容当作帖子进行判断。如果所发的文字中含"1.TXT"中的过滤词,就进行禁止发
阅读全文
014天(.net学习之路-C#基础知识)-正则表达式2
摘要:正则表达式2练习1:抓取某网页上的图片 1 static void Main(string[] args) 2 { 3 //下载某个网页的图片,下载到d:\1文件夹下 4 //例:抓取http://desk.zol.com.cn/首页的图片 5 6 WebClient wc = new WebClient(); 7 string content = wc.DownloadString("http://desk.zol.com.cn/"); 8 ...
阅读全文
013天(.net学习之路-C#基础知识)-正则表达式1
摘要:正则表达式详细请看这位大神的《正则表达式30分钟入门教程》(学习正则表达式之前必须有个好的工具,我使用的是Regulator.exe)一、学习正则的时候不必都记住某个元字符具体的意思,但是必须知道都有那些功能,方便以后使用到的时候能及时解决问题。二、学习后必须知道的知识点 (先学会使用这些基本就够用了,其他的在开发中再去看就是了)1、元字符(常用的)序号元字符 作用实例1.点匹配任意单个字符2[]中括号匹配其中单个字符例[123]或[1-3] 表示匹配1或2或33()小括号改变优先集,()中的也表示一个组4|竖线或g|food 匹配g 或 food ;(g|f)ood 表示匹配goo...
阅读全文
012天(.net学习之路-C#基础知识)-( StreamWriter、StreamReader、WebClient)
摘要:一、StreamWriter 可以简化文本类型的Stream的处理StreamWriter是辅助Stream进行处理的using (StreamWriter writer = new StreamWriter(stream, encoding)){ writer.WriteLine("你好");}StreamWriter对Stream进行了包装,调一下writer.WriteLine背后帮我们做了把字符串转换为二进制的工作。练习:把一个字符串写入到某个txt文档中 1 string str = "脸乃身外之物,可要可不要,钱乃必要之物,不得不要。"; 2
阅读全文
011天(.net学习之路-C#基础知识)- 流Stream
摘要:流涉及三个基本操作:1、可以读取流。读取是从流到数据结构(如字节数组)的数据传输。2、可以写入流。写入是从数据结构到流的数据传输。3、流可以支持查找。查找是对流内的当前位置进行的查询和修改。查找功能取决于流具有的后备存储区类型。例如,网络流没有当前位置的统一概念,因此一般不支持查找。System.IO的主要类:Stream:支持读取和写入字节的抽象类。不管它具体是什么形式,本质上总是可以视为一串字节序列。File, FileInfo, Directory, DirectoryInfo:提供抽象的FileSystemInfo类的具体实现,虚拟了文件系统。FileStream,MemoryStre
阅读全文
010天(.net学习之路-C#基础知识)-编写资源管理器
摘要:编写资源管理器使用到的类及方法: 1、TreeNode 2、Path.GetFileNameWithoutExtension() 3、DirectoryInfo 4、FileInfo实现了给一个路径,得到改路径下的所有文件夹及文件树(问题:★★中的问题如何解决?) 1 private void Form1_Load(object sender, EventArgs e) 2 { 3 CreateParent("E:\\Downloads666"); 4 5 6 } 7 ...
阅读全文
009天(.net学习之路-C#基础知识)
摘要:(学习类的时候不用着急去记很多的方法,只要知道这个类有什么功能,在使用的时候查帮助)一、Path 对路径 字符串进行操作 获得后缀 能合并路径 获取文件名目录和文件操作的命名控件System.IOstring ChangeExtension(string path, string extension) (*)修改文件的后缀,“修改”支持字符串层面的,没有真的给文件改名string s = Path.ChangeExtension(@"C:\temp\F3.png", "jpg")string Combine(string path1, string pa
阅读全文
008天(.net学习之路-C#基础知识)
摘要:集合类集合常用操作 添加、遍历、移除命名空间System.Collections一、•ArrayList 可变长度数组,使用类似于数组 •属性 Capacity Count •方法 Add() 添加 AddRange() 添加集合 Remove()移除 RemoveAt()移除索引所指 Clear()清空 Contains() ToArray()二、•Hashtable 键值对(KeyValuePair)的集合,类似于字典 (没有索引,Key不能重复)可以遍历值、遍历键、遍历键值对(DictionaryEntry)★三、泛型集合(编程中如果要...
阅读全文
007天(.net学习之路-C#基础知识)
摘要:一、学一门语言的流程1、数据类型2、语法3、面向对象4、类库二、常用类库String字符串属性•Length方法•IsNullOrEmpty() 静态方法•ToCharArray()•ToLower() 字符串的不可变•ToUpper()•Equals() 比较字符串(可以忽略大写小比较,有参数)•Join()静态方法•Format ()静态方法•IndexOf()第一个字符串的索引•LastIndexOf() 最后一个字符串的索引•Substring() 从此实例检索子字符串。子字符串从指定的字符位置开始。•Split() 分割字符串•Replace() 替换•Trim() 移除首尾空格•.
阅读全文
006天(.net学习之路-C#基础知识)
摘要:类型转换隐式转换 目标类型一定能满足原类型的转换 // int n=5;double sum =n;显示转换 目标类型不一定能满足原类型的转换(需程序员自己负责)//double n=5;int sum=(int)n;Convert可以把object类型转换为其它类型把字符串转换为整型时还可以使用int.Parse int.TryParse异常处理给程序的一个容错机制try catch。Exception ex 异常也是对象。Exception 类主要属性:Message、StackTrace发生异常后程序默认就退出了,try代码块中的后续代码不会被执行。catch以后的代码则会继续执行。扔.
阅读全文
005天(.net学习之路-C#基础知识)
摘要:面向对象 方便以后的扩展和维护封装 黑匣子 隐藏具体实现继承 使代码可以重用 子类继承父类的属性和方法 : 单根继承性 继承具有传递性 所有的类都直接或间接的继承自Object this 代表当前类的实例,base 代表父类的实例 protected 子类构造函数必须指明调用父类哪个构造函数 访问级别约束 子类的访问级别要比父类的低 方法、属性等暴露的返回值、参数的数据类型不能比方法、属性或者所在类的可访问级别低 多态 不同对象执行同一行为(方法)有不同的表现 里氏替换原则 让父类引用指向子类对象 Person per = new Student(); per是父类的引用,它...
阅读全文
004天(.net学习之路-C#基础知识)
摘要:一、使用面向对象的方式实现+、-、* 、/的计算器•1、找对象•2、抽象出父类,让子类都有计算能力•3、实现子类•4、造工厂•5、调用简单工厂模式 父类产品--约束子类 子类产品--实现具体的功能 工厂--生产子类产品 客户--调用者,只需要知道父类产品和工厂父类 1 abstract class Operation 2 { 3 public Operation() 4 { 5 } 6 public Operation(int numA, int numB) 7 { 8 this.n...
阅读全文
003天(.net学习之路-C#基础知识)
摘要:一、虚方法virtual(虚方法必须有实现,但也可以在子类中重写)虚方法可以给父类中的方法一个实现,比如ToString()方法虚方法必须有实现部分,抽象方法没有提供实现部分虚方法和抽象方法的区别1、虚方法必须有实现,抽象方法必须没有实现2、抽象方法必须在抽象类中声明,虚方法可以出现在抽象类中3、抽象方法必须在子类中重写,虚方法可以被重写
阅读全文
002天(.net学习之路-C#基础知识)
摘要:一.用面向对象的思想写一个猜拳游戏。 1、电脑(Computer类) 拳(字段) 出拳(方法)代码 class Compute { string fist; public string Fist { get { return fist; } set { fist = value; } } public int ShowFist() { Random s = new Random(); int text=s.Ne...
阅读全文
001天(.net学习之路-C#基础知识)
摘要:1. //题目:求两个数的最大值 (求三个数最大值及更多值的最大值)求最大值 1 static void Main(string[] args) 2 { 3 //题目:求两个数的最大值 (求三个数最大值及更多值的最大值) 4 int[] sss = { 200, 120, 90, 180, 110 }; 5 int a = 10; 6 int b = 0; 7 int c = 99; 8 int d = 1000; 9 ...
阅读全文
浙公网安备 33010602011771号