随笔分类 -  .Net基础知识

1
C#语法,语言基础,语言类型,语句使用等
摘要:1.1 C#中的泛型.Net 1.1版本最受诟病的一个缺陷就是没有提供对泛型的支持。通过使用泛型,我们可以极大地提高代码的重用度,同时还可以获得强类型的支持,避免了隐式的装箱、拆箱,在一定程度上提升了应用程序的性能。本文将系统地为大家讨论泛型,我们先从理解泛型开始。1.1 理解泛型1.1.1 为什么要有泛型?我想不论大家通过什么方式进入了计算机程序设计这个行业,都免不了要面对数据结构和算法这个话题。因为它是计算机科学的一门基础学科,往往越是底层的部分,对于数据结构或者算法的时间效率和空间效率的要求就越高。比如说,当你在一个集合类型(例如ArrayList)的实例上调用Sort()方法对它进行排 阅读全文
posted @ 2013-06-07 14:26 PointNet 阅读(421) 评论(0) 推荐(1) 编辑
摘要:一、基础在C#里,异常处理就是C#为处理错误情况提供的一种机制。它为每种错误情况提供了定制的处理方式,并且把标识错误的代码与处理错误的代码分离开来。对.NET类来说,一般的异常类System.Exception派生于System.Object。还有许多定义好的异常类(如:System.SystemException、System.ApplicationException等),他们又派生于System.Exception类。其中System.ApplicationException类是第三方定义的异常类,如果我们要自定义异常类,那么就应派生于它。在代码中对异常进行处理,一般要使用三个代码块:&# 阅读全文
posted @ 2012-09-04 17:43 PointNet 阅读(19181) 评论(0) 推荐(2) 编辑
摘要:第一个就是很多人用.Net写程序,会谈到托管这个概念。那么.Net所指的资源托管到底是什么意思,是相对于所有资源,还是只限于某一方面资源?很多人对此不是很了解,其实.Net所指的托管只是针对内存这一个方面,并不是对于所有的资源;因此对于Stream,数据库的连接,GDI+的相关对象,还有Com对象等等,这些资源并不是受到.Net管理而统称为非托管资源。而对于内存的释放和回收,系统提供了GC-Garbage Collector,而至于其他资源则需要手动进行释放。那么第二个概念就是什么是垃圾,通过我以前的文章,会了解到.Net类型分为两大类,一个就是值类型,另一个就是引用类型。前者是分配在栈上,并 阅读全文
posted @ 2012-08-22 17:53 PointNet 阅读(3211) 评论(0) 推荐(0) 编辑
摘要:值类型是不可以被赋值为null的,但有时候我们却需要简单的值类型被设置为null, 比如一个查询界面上有很多的查询条件,查询条件可以使用也可以留空,这是从UI收集查询参数信息传递到后台执行查询的时候,我们如果约定某个参数为 null时,就认为用户没有使用该查询参数。 第一,它是一个结构类型,值类型 其实下面的这个变量声明就是可为空的值类型 int? number = 100; 但是number是真的值类型吗,我们使用typeof(int?)看看他的类型吧, System.Nullable`1[System.Int32] Nullable<T>的声明如下: public struct 阅读全文
posted @ 2011-07-28 10:16 PointNet 阅读(3750) 评论(0) 推荐(1) 编辑
摘要:今天的一节培训课上谈起了.NET的体系结构,让我也想起了当初所学的.NET CLR的相关知识。所以在这里小谈一下,也算是个“温故而知新”了,还记的很久以前,曾在自己的另一篇文章中讨论过CLR和CLI的关系。从大家的回复中也明白了很多。(文章链接) 大家有空自己再看看,我就不多啰嗦这一点了。大家都知道.NET是支持所谓的多语言的,但其实.NET只有一种语言,就是MSIL,其它... 阅读全文
posted @ 2009-11-03 09:39 PointNet 阅读(517) 评论(0) 推荐(0) 编辑
摘要:Application Domain可以看作是一个Assembly的逻辑容器。在程序执行过程中,如果遇到需要的Type并没有定义在已经加载的Assemblies中,CLR会把相应的Assembly加载的该Application Domain中。每个Application Domain都有一个属于自己的加载器堆(Loader Heap),用于维护从Application Domain创建以后所用到的... 阅读全文
posted @ 2009-09-30 14:23 PointNet 阅读(412) 评论(0) 推荐(0) 编辑
摘要:最近网站里的参数包括中文的例如: http://www.chinapoesy.com/Tag%b0%ae%c7%e9.html 已开始使用 Server.UrlEncode来做的,但发现,有一些中文在url重写的是说找不到页面,URL的重写规范正则表达式是没有问题的啊。 后来GG了发现问题所在 Server.UrlEncode编码是使用系统默认的,而 System.Web.HttpUtilit... 阅读全文
posted @ 2009-01-16 16:24 PointNet 阅读(30814) 评论(1) 推荐(2) 编辑
摘要:HttpUtility.UrlEncode 方法: 对 URL 字符串进行编码,以便实现从 Web 服务器到客户端的可靠的 HTTP 传输。 重载列表 将字节数组转换为已编码的 URL 字符串,以便实现从 Web 服务器到客户端的可靠的 HTTP 传输。 [C#] public static string UrlEncode(byte[]); 对 URL 字符串进行编码,以便实现从 Web 服务器... 阅读全文
posted @ 2009-01-16 16:21 PointNet 阅读(4890) 评论(1) 推荐(0) 编辑
摘要:最近,看到网上经常会问如何进行窗口跳转,大多数的问题都是牵扯到Login窗口。其实,在Visual Studio 6以来,比较正确的做法,是判断Login窗口的返回值,然后决定是否打开主窗体,那么在C#中也是一样的。 具体做法如下: 首先,创建Login窗口,然后添加相应的输入框和按钮,设置窗口的AcceptButton为窗体的确认按钮,而CancelButton为窗体的取消按钮。例如: ... 阅读全文
posted @ 2008-03-15 17:24 PointNet 阅读(961) 评论(1) 推荐(0) 编辑
摘要:/* - - - - - - - - - - - - - - - - - - - - - - - - * Stream 和 byte[] 之间的转换 * - - - - - - - - - - - - - - - - - - - - - - - */ /// /// 将 Stream 转成 byte[] /// public byte[] StreamToBytes(Stream str... 阅读全文
posted @ 2008-03-04 19:45 PointNet 阅读(1118) 评论(1) 推荐(0) 编辑
摘要:enum 枚举 遍历 阅读全文
posted @ 2007-10-29 09:01 PointNet 阅读(2191) 评论(0) 推荐(0) 编辑
摘要:分析 C# 2.0 新特性 -- 范型(Generics) 作者:梁振[MS-MVP] 范型是提高面向对象程序多态性设计衍生的。 1,C# 多态性设计回顾和展望 在引入范型这个概念之前,回顾一下1.0或1.1中关于的Object类型的定义: Object类型是.NET Framework中System.Object的一个别名,可以分配任何类型给Object类型的变量。 通过obj... 阅读全文
posted @ 2007-10-25 18:01 PointNet 阅读(1124) 评论(0) 推荐(0) 编辑
摘要:base base 关键字用于从派生类中访问基类的成员: 调用基类上已被其他方法重写的方法。 指定创建派生类实例时应调用的基类构造函数。 基类访问只能在构造函数、实例方法或实例属性访问器中进行。 示例: 在派生类中调用基类方法。 // base 关键字 // 访问基类成员 using System; public class BaseClass { protected stri... 阅读全文
posted @ 2007-10-24 09:28 PointNet 阅读(480) 评论(1) 推荐(0) 编辑
摘要:在写c#程序时,string和byte[]之间的转换比较烦,在移植一些老程序时感觉很不好。我在c#中使用des和tripledes时移植一块老代码时也遇到了同样的情况。为了下次不为同样的事情烦恼,就写了下面的帮助类。 主要实现了以下的函数 代码中出现的sidle是我的网名。 /**//* * @author wuerping * @version 1.0 * @date 2004/11/30 * ... 阅读全文
posted @ 2007-06-06 15:30 PointNet 阅读(876) 评论(1) 推荐(0) 编辑
摘要:SortedList 类 表示键/值对的集合,这些键和值按键排序并可按照键和索引访问。SortedList最合适对一列健/值对 进行排序,在排序时,是对键进行排序,SortedList 是 Hashtable 和 Array 的混合。当使用 Item 索引器属性按照元素的键访问元素时,其行为类似于 Hashtable。当使用 GetByIndex 或 SetByIndex 按照元素的索引访问元... 阅读全文
posted @ 2006-12-13 12:35 PointNet 阅读(682) 评论(0) 推荐(0) 编辑
摘要:在.net Framework中,System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换: Convert.ToInt32(string value, int fromBase): 可以把不同进制数值的字符串转换为数字,其中fromBase参数为进制的格式,只能是2、8、10及16: 如Convert.ToInt32(”00... 阅读全文
posted @ 2006-12-12 13:41 PointNet 阅读(980) 评论(2) 推荐(0) 编辑
摘要:1using System; 2using System.Collections; 3 4public class MyClass 5{ 6 public static void Main() 7 { 8 Console.WriteLine(per15To18("429005811009091")); 9 RL();10 }11 12 p... 阅读全文
posted @ 2006-11-13 16:32 PointNet 阅读(4014) 评论(4) 推荐(0) 编辑
摘要:一.哈希表(Hashtable)简述在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/... 阅读全文
posted @ 2006-10-26 18:03 PointNet 阅读(1132) 评论(1) 推荐(0) 编辑
摘要:非Web程序1.AppDomain.CurrentDomain.BaseDirectory2.Environment.CurrentDirectory3.HttpRuntime.BinDirectoryThe path to the current application's/bin directory.Web程序HttpCurrent.Context.Server.Mappath();知道的请补... 阅读全文
posted @ 2006-10-20 16:15 PointNet 阅读(735) 评论(1) 推荐(0) 编辑
摘要:1/**//// 2 /// 截取字符串,不限制字符串长度 3 /// 4 /// 待截取的字符串 5 /// 每行的长度,多于这个长度自动换行 6 /// 7 public string CutStr(string str,int len) 8 { string s=""; 9 ... 阅读全文
posted @ 2006-09-26 16:07 PointNet 阅读(5114) 评论(2) 推荐(0) 编辑

1