摘要:
用C#和.NET提供的类来轻松创建一个抓取网页内容源代码的程序。HTTP是WWW进行数据访问最基本的协议之一,在.NET的基本类型库类中提供了两个对象类:HTTPWebRequest和HTTPWebResponse,分别用来向某资源发送请求和获得响应。为了得到一个资源的内容,我们先指定一个想要抓取的URL地址,用HTTPWebRequest对象进行请求,用HTTPWebResponse对象接收响应的结果,最后用TextStream对象来提取我们想要的信息,并在控制台打印出来。下面就是看看如何实现这样的功能:第一步:打开VS.NET,点“文件”-“新建”-“项目”,项目类型选择“VisualC# 阅读全文
摘要:
3、字串对比一般都用: if(str1==str2){ } , 但还有别的方法: (1)、 string str1; str2 //语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如: if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); } (2)、 //语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. (3)、 //语法 Equals(str1,str2); 阅读全文
摘要:
< p>12、DOC对象.CreateElement("新建节点名"); 创建XML文档新节点 13、父节点.AppendChild(子节点); 将新建的子节点加到XML文档父节点下 14、 父节点.RemoveChild(节点); 删除节点 15、Response Response.Write("字串"); Response.Write(变量); 向页面输出。 Response.Redirect("URL地址"); 跳转到URL指定的页面 16、char.IsWhiteSpce(字串变量,位数)——逻辑型 查指定位置是否 阅读全文
摘要:
20、 Trim() 清除字串前后空格 21 、字串变量.Replace("子字串","替换为") 字串替换 如: string str="中国"; str=str.Replace("国","央"); //将国字换为央字 Response.Write(str); //输出结果为“中央” 再如:(这个非常实用) string str="这是<script>脚本"; str=str.Replace("<","<font> 阅读全文
摘要:
<p>4、变量.Length 数字型 取字串长度: 如: string str="中国"; int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名 5、System.Text.Encoding.Default.GetBytes(变量) 字码转换 转为比特码 如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 然后可得到比特长度: len = bytStr.Length; 6、System.Text.StringBuilder("" 阅读全文
摘要:
1.9 取中文日期显示——年月日时分 string strY=currentTime.ToString("f"); //不显示秒 1.10 取中文日期显示_年月 string strYM=currentTime.ToString("y"); 1.11 取中文日期显示_月日 string strMD=currentTime.ToString("m"); 1.12 取中文年月日 string strYMD=currentTime.ToString("D"); 1.13 取当前时分,格式为:14:24 string st 阅读全文
摘要:
27、Remove() 从指定位置开始删除指定数的字符 字串对比一般都用: if(str1==str2){ } , 但还有别的方法: 1、 string str1; str2 //语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如: if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); } 2、 //语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. 3、 //语法 阅读全文
摘要:
23、字串对比一般都用: if(str1==str2){ } , 但还有别的方法: (1)、 string str1; str2 //语法: str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如: if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); } (2)、 //语法:str1.Equals(str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上. (3)、 //语法 Equals(str1,str2); 阅读全文
摘要:
19、(char)代码 把数字转为字符,查代码代表的字符。 如: Response.Write((char)22269); //返回“国”字。 20、 Trim() 清除字串前后空格 21 、字串变量.Replace("子字串","替换为") 字串替换 如: string str="中国"; str=str.Replace("国","央"); //将国字换为央字 Response.Write(str); //输出结果为“中央” 再如:(这个非常实用) string str="这是< 阅读全文
摘要:
11、String str=Request.QueryString["变量"]; 用超链接传送变量。 如在任一页中建超链接:<a href=Edit.aspx?fbid=23>点击</a> 在Edit.aspx页中取值:String str=Request.QueryString["fdid"]; 12、DOC对象.CreateElement("新建节点名"); 创建XML文档新节点 13、父节点.AppendChild(子节点); 将新建的子节点加到XML文档父节点下 14、 父节点.RemoveChild( 阅读全文
摘要:
5、System.Text.Encoding.Default.GetBytes(变量) 字码转换 转为比特码 如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 然后可得到比特长度: len = bytStr.Length; 6、System.Text.StringBuilder("") 字符串相加,(+号是不是也一样?) 如:System.Text.StringBuilder sb = new System.Text.StringBuilder(""); sb.Append(&qu 阅读全文
摘要:
< 1、DateTime 数字型 System.DateTime currentTime=new System.DateTime(); 1.1 取当前年月日时分秒 currentTime=System.DateTime.Now; 1.2 取当前年 int 年=currentTime.Year; 1.3 取当前月 int 月=currentTime.Month; 1.4 取当前日 int 日=currentTime.Day; 1.5 取当前时 int 时=currentTime.Hour; 1.6 取当前分 int 分=currentTime.Minute; 1.7 取当前秒 int 秒= 阅读全文
摘要:
61. 除非你想重写子类中存在名称冲突的成员或者调用基类的构造函数否则不要使用base来访问基类的成员。// 正确使用base的例子public class Dog { public Dog(string name) {} virtual public void Bark( int howLong) {} } public class GermanShepherd : Dog { public GermanShe pherd(string name): base (name) {} override public void Bark(int howLong) { base .Bark(howL 阅读全文
摘要:
51. 表现给最终用户的字符串不要使用硬编码而要使用资源文件替换之。52. 不要硬编码可能更改的基于配置的字符串,比如连接字符串。53. 当需要构建长的字符串的时候,使用StringBuilder不要使用string54. 避免在结构里面提供方法。a) 建议使用参数化构造函数b) 可以重裁操作符55. 总是要给静态变量提供静态构造函数。56. 能使用早期绑定就不要使用后期绑定。57. 使用应用程序的日志和跟踪。58. 除非在不完全的switch语句中否则不要使用goto语句。59. 在switch语句中总是要有default子句来显示信息(Assert)。int number = SomeMe 阅读全文
摘要:
31. 总是使用基于0开始的数组。32. 在循环中总是显式的初始化引用类型的数组。public class MyClass {} MyClass[] array = new MyClass[100]; for(int index = 0; index < array.Length; index++) { array[index] = new MyClass(); } 33. 不要提供public 和 protected的成员变量,使用属性代替他们。34. 避免在继承中使用new而使用override替换。35. 在不是sealed的类中总是将public 和 protected的方法标记 阅读全文
摘要:
41. 总是使用接口。42. 类和接口中的方法和属性至少为2:1的比例。43. 避免一个接口中只有一个成员。44. 尽量使每个接口中包含3-5个成员。45. 接口中的成员不应该超过20个。a) 实际情况可能限制为12个 46. 避免接口成员中包含事件。47. 避免使用抽象方法而使用接口替换。48. 在类层次中显示接口。49. 推荐使用显式的接口实现。50. 从不假设一个类型兼容一个接口。Defensively query for that interface.SomeType obj1; IMyInterface obj2; /* 假设已有代码初始化过obj1,接下来 */ obj2 = ob 阅读全文
摘要:
21. 避免在单个程序集里使用多个Main方法。22. 只对外公布必要的操作,其他的则为internal。23. Avoid friend assemblies, as it increases inter-assembly coupling.24. Avoid code that relies on an assembly running from a particular location. 25. 使应用程序集尽量为最小化代码(EXE客户程序)。使用类库来替换包含的商务逻辑。26. 避免给枚举变量提供显式的值。//正确方法 public enum Color { Red,Green,Bl 阅读全文
摘要:
11. 不要硬编码数字的值,总是使用构造函数设定其值。12. 只有是自然结构才能直接使用const,比如一个星期的天数。13. 避免在只读的变量上使用const。如果想实现只读,可以直接使用readonly。public class MyClass { public readonly int Number; public MyClass(int someValue) { Number = someValue; } public const int DaysInWeek = 7; } 14. 每个假设必须使用Assert检查a) 平均每15行要有一次检查(Assert)using System. 阅读全文
摘要:
. 避免将多个类放在一个文件里面。 2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。3. 一个文件最好不要超过500行的代码(不包括机器产生的代码)。4. 一个方法的代码长度最好不要超过25行。5. 避免方法中有超过5个参数的情况。使用结构来传递多个参数。6. 每行代码不要超过80个字符。7. 不要手工的修改机器产生的代码。a) 如果需要编辑机器产生的代码,编辑格式和风格要符合该编码标准。b) Use partial classes whenever possible to factor out the maintained portions. 8. 避免利用注释解释 阅读全文
摘要:
使用结构体 操作带有结构体的API比使用简单的API要复杂的多。但是一旦你掌握了API的过程,那个整个API世界将在你的掌握之中。 下面的例子中我们将使用GetSystemInfo API 来获取整个系统的信息。 第一步还是打开C#建立一个Form工程,同样的添中一个Button按钮,在代码窗中输入下面的代码,导入Namespace: using System.Runtime.InteropServices; 声明一个结构体,它将做为GetSystemInfo的一个参数: [StructLayout(LayoutKind.Sequential)] public struct SYSTEM_IN 阅读全文