
[01] .Net(C#)
Jason 薛
这个作者很懒,什么都没留下…
展开
-
Asp.Net知识锦分享
<br />今天是春节的最后一篇博客了,在这里给大家拜个早年!祝大家新年新气象,事业红红火火,兔年大吉,给力给力再给力!<br />我是09年10月的时候开博客的,当时的我还是一个啥都不懂得楞青头,虽然现在也好不到哪里去,呵呵。当时的我对.Net嗤之以鼻,认为Java才是王道。当时的我学Java也一年多了,感觉Java的世界里,东西太繁杂了,其实现在想想,.Net技术里的东西很多,很深。我们无法面面俱到,正如园子里某位说的,“一个人只能做好那么很少的几 件事情”。这句话确实不错,我们的时间精力都是有限的,要转载 2011-05-11 17:06:00 · 352 阅读 · 0 评论 -
C#在代码隐藏页面如何才能操作div标签
有时候我们会遇到需要在服务器端操作div标签,如果想要进行操作的话,需要在div标签中添加runat="server"属性,另外还要有设置id属性,比如:html代码:C#代码: protected void Page_Load(object sender, EventArgs e) { HtmlGenericC原创 2011-10-29 19:04:32 · 1079 阅读 · 0 评论 -
ASP.NET/C#获取文章中图片的地址
前几天修改一个网站的布局的时候需要把简单的新闻列表修改为图文结合+新闻列表,不过这新闻的数据库非常简单,图片是在编辑器里面和HTML一起存入数据库中的content字段的,所以工作简化到从一个字符串里面获取图片的地址并输出。在HTML的图片标签一般如下格式所示:,这就相当于编程中的一个结构体啊,里面的一个个属性就是切入点,不过.NET中还没有函数去完成这个操作,自己根据别人的思路写个类吧。算法原创 2011-10-31 20:36:37 · 2202 阅读 · 1 评论 -
Action<T>和Func<T>委托
泛型Action委托和Func委托是系统定义的两个泛型委托。 Action委托表示引用一个返回类型为Void的方法。这个委托存在不同的变体,可以传递之多16个不同的参数类型。同时,没有泛型参数的Action类可以调用没有参数的方法。例如,Action表示有一个输入参数的方法,Action表示有两个输入参数的方法。 Func可以以类似的方法使用。不过Func允许调转载 2011-11-02 20:32:21 · 393 阅读 · 0 评论 -
Lambda表达式学习记录
Lambda表达式可以简化C#编程的某些方面,用法非常灵活。因此也不容易掌握。下边是我学Lambda表达式的一点记录。1、Lambda表达式是与委托紧密联系的。只要有委托参数类型的地方,就可以使用Lambda表达式。Lambda表达式的运算符是=>。运算符左边列举出了需要的参数,右边定义了赋予Lambda变量的方法的实现代码。下面这段代码是一个最简单的使用方法:public cla转载 2011-11-02 20:26:17 · 475 阅读 · 0 评论 -
11.在编写循环时,优先使用 foreach
C# foreach语句不仅仅只是do...while或者for循环语句的一个变体。它会为我们的集合产生最好的遍历代码。实际上,foreach语句的定义和.NET框架中的集合接口密切相关。对于一些特殊的集合类型,C#编译器会产生具有最佳效率的代码。遍历集合时,我们应该使用C# foreach语句,而非其他的循环构造。例如,对于下面三种循环:int [] foo = new int[100];转载 2011-09-21 16:22:35 · 528 阅读 · 1 评论 -
C#如何计算代码执行时间
using System.Diagnostice;//导入该命名空间Stopwatch watch=new Stopwatch ();//实例化一个计时器watch.Start();//开始计时/*此处为要计算的运行代码例如:int sum=0;for(int i=0; i<100;i++){ for(int j=0;j<100;原创 2012-08-30 09:58:39 · 1246 阅读 · 1 评论 -
C#动态添加控件的方法
有时候需要在程序运行到一定时候或者某个事件之后需要动态生成控件在C#下一般方式是:private Button Db=new Button() ;Db.Name="Dy_Button" //设定名称Db.Location=new Point(100,200);//设定位置。。。。//其他属性设置//这里添加消息处理。。this.Controls.Add (D转载 2012-08-22 09:48:01 · 4526 阅读 · 0 评论 -
datalist自增序号
<asp:DataList ID="dList" runat="server" Width="100%" CellPadding="4" ForeColor="#333333" onitemdatabound="dList_ItemDataBound"> 序号 模板名称 模板类型 应用时间原创 2012-08-27 10:02:56 · 1552 阅读 · 0 评论 -
Microsoft.Office.Interop.Excel.dll:检索COM 类工厂中CLSID 为{00024500-0000-0000-C000-000000000046}组件时失败
检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005当在ASP.NET应用程序中引用Microsoft Excel组件,并在程序中调用时,部署到服务器上经常会遇到以下的错误:检索 COM 类工厂中 CLSID 为{00024500-0000-0000-C000-00000转载 2012-08-27 15:34:33 · 2928 阅读 · 0 评论 -
ASP.NET通过URLRewriter.dll和aspnet_isapi.dll实现伪静态
1、首先,去下载MSDNURLRewriting.zip,不要在网络上直接下载URLRewriter.dll,一般网络上的URLRewriter.dll都是未经过编译重新生成只有8k大小,而实际的大小是20k左右。2、MSDNURLRewriting.zip解压后会有MSDNURLRewriting.msi文件,点击安装,在安装文件中可以找到URLRewritingCode.sln,点击打开,原创 2013-01-09 09:48:20 · 2966 阅读 · 1 评论 -
未能从程序集“URLRewriter”中加载类型“URLRewriter.RewriterFactoryHandler”。
这是因为你使用的URLRewriter.dll是不完整的,一般只有8k,而实际上完整的是URLRewriter.dll是20k。详细可以参考ASP.NET通过URLRewriter.dll和aspnet_isapi.dll实现伪静态原创 2013-01-09 09:55:17 · 1632 阅读 · 0 评论 -
未能从程序集“URLRewriter”中加载类型“URLRewriter.ModuleRewriter”。
这是因为你使用的URLRewriter.dll是不完整的,一般只有8k,而实际上完整的是URLRewriter.dll是20k。详细可以参考ASP.NET通过URLRewriter.dll和aspnet_isapi.dll实现伪静态原创 2013-01-09 10:11:34 · 2532 阅读 · 0 评论 -
C#时间/日期格式大全
有时候我们要对时间进行转换,达到不同的显示效果 默认格式为:2005-6-6 14:33:34 如果要换成成200506,06-2005,2005-6-6或更多的该怎么办呢?我们要用到:DateTime.ToString的方法(String, IFormatProvider) using System; using System.Globalization;转载 2011-10-30 20:42:01 · 102 阅读 · 0 评论 -
C# IEnumerable<T>、IEnumerator<T>、List<T>、ArrayList、[]数组各各的区别
List 是ArrayList的泛型,ArrayList里边的数据类型是object, List 里边的是具体的某种类型, ArrayList类似于向量,可以存储不同的数据类型在一个数组里边(转换为了object)。 一般使用的时候尽量使用List ,因为ArrayList存取都要进行一次转换。 []类型的数组类似于List转载 2011-11-14 22:34:57 · 3314 阅读 · 0 评论 -
4.使用条件属性 (Conditional Attributes) 来代替条件编译语句 #if
使用#if/#endif 块可以在同样源码上生成不同的编译(结果),大多数debug和release两个版本。但它们决不是我们喜欢用的工具。由于#if/#endif很容易被滥用,使得编写的代码难于理解且更难于调试。程序语言设计者有责任提供更好的工具,用于生成在不同运行环境下的机器转载 2011-09-21 13:57:36 · 739 阅读 · 0 评论 -
在.net上使用CKEditor的步骤
到官网 CKEditor download site 下载最新版本的 CKEditor 3.x 和 CKEditor for ASP.NET Control。解压这两个文件为ckeditor和ckeditor_aspnet_3.x.x,并将ckeditor文件夹拷贝到网站的根目录下。添加引用 CKEditor for ASP.NET Control 到你的网站.<br />在 Visual Studio 中使用添加引用,然后通过浏览找到ckeditor_aspnet_3.x.x文件夹中 bin/Releas原创 2011-05-12 16:53:00 · 1714 阅读 · 2 评论 -
9.C#中 Reference Equals, == , Equals的区别
1. ReferenceEquals, == , Equals Equals , == , ReferenceEquals都可以用于判断两个对象的个体是不是相等。 a) ReferenceEquals ReferenceEquals是Object的静态方法,用于比较两转载 2011-09-21 15:31:08 · 690 阅读 · 0 评论 -
10.理解 GetHashCode方法的缺陷
GetHashCode只有在一种情况下会使用:在基于Hash的集合容器中计算key(键值)时会用到,类似Hashtable和Dictionary。对于默认的System.Object.GetHashCode(). 方法对于引用类型是可以正常工作的的但是效率底下,但是对于值类型通常转载 2011-09-21 16:03:37 · 379 阅读 · 0 评论 -
提高C#编程水平的50个要点
1.总是用属性 (Property) 来代替可访问的数据成员2.在 readonly 和 const 之间,优先使用 readonly3.在 as 和 强制类型转换之间,优先使用 as 操作符4.使用条件属性 (Conditional Attributes) 来代替转载 2011-09-21 13:28:16 · 414 阅读 · 0 评论 -
5. 总是为自定义类重载 ToString 方法
System.Object.ToString()恐怕是.NET中最常用的方法了。应该为我们的类的所有客户代码提供一个合理的版本,否则这些代码就只能使用我们的类的一些属性来自己定制可读的表示了。类型的字符串表示非常有用,可以在很多地方向用户显示对象的有关信息,例如在Windows转载 2011-09-21 14:00:20 · 393 阅读 · 0 评论 -
8.在值类型中,确保0是一个合法的数据
对于值类型默认没有赋值的情况下,默认值都是0。枚举类型,继承于System.ValueType,默认值情况下枚举是从0开始的,但是可以修改public enum Planet { // Explicitly assign values. // Default star转载 2011-09-21 14:20:29 · 316 阅读 · 0 评论 -
3.在 as 和 强制类型转换之间,优先使用 as 操作符
在程序中,进行类型转换是常见的事。那么在C#中支持以前语言的类型转换方法,即用类型名进行强行转换,例如:object objTest = new NewType();NewType newValue = (NewType)objTest;但是这转载 2011-09-21 13:55:24 · 471 阅读 · 1 评论 -
1.总是用属性 (Property) 来代替可访问的数据成员(field)
好的OO编程习惯是提供公开的访问器,让客户代码有效的操作选择的私有Attribute的同时,也可以使对象本身能很好的控制这些Attribute,保护业务逻辑的正常运作有2种实现访问器的方法:1.OO编程语言的普通手法提供get和set的方法分别用来提取和修改Attribute转载 2011-09-21 13:52:37 · 403 阅读 · 0 评论 -
7.使用不可变的值类型(Immutable Atomic Value Types)
Prefer Immutable Atomic Value Types不可变值类型:一旦创建,将不会变化(constant),不能改变object内部状态。基于不可变值类型创建的上层的模块将会更加的健壮,可靠性也会更加的有保证,由于不可变值类型对象在创创建安之后,内部状态就不转载 2011-09-21 14:18:50 · 463 阅读 · 0 评论 -
2.在 readonly 和 const 之间,优先使用 readonly
C#中有两种常量类型,分别为readonly(运行时常量)与const(编译时常量),本文将就这两种类型的不同特性进行比较并说明各自的适用场景。工作原理 readonly为运行时常量,程序运行时进行赋值,赋值完成后便无法更改,因此也有人称其为只读变量。转载 2011-09-21 13:54:11 · 348 阅读 · 0 评论 -
11.在编写循环时,优先使用 foreach
C# foreach语句不仅仅只是do...while或者for循环语句的一个变体。它会为我们的集合产生最好的遍历代码。实际上,foreach语句的定义和.NET框架中的集合接口密切相关。对于一些特殊的集合类型,C#编译器会产生具有最佳效率的代码。遍历集合时,我们应该使用C#转载 2011-09-21 15:59:27 · 89 阅读 · 0 评论 -
6. 区别值类型和引用类型
一、总的区别 首先说说什么类型是值类型,例如:int、float、bool之类的基础类型,以及用struct定义的类型,如:DateTime。除此外,如string,数组,以及用class定义的类型等都是引用类型。对于C#来说,很难罗列出所有类型进行一一分别,这需要自原创 2011-09-21 14:01:50 · 352 阅读 · 0 评论