C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  496 随笔 :: 0 文章 :: 634 评论 :: 571万 阅读

随笔分类 -  .Net基础

.Net基础备忘
摘要:今天去面试的时候被一道题问得一点脾气都没有,今天特地来研究下。 子类成员变量,子类静态成员变量,子类构造函数,父类成员变量,父类静态成员变量,父类构造函数的执行顺序。 现在贴上从另外一个.net程序员写的实例,稍微改下。 public class ShowInfo { public ShowInfo(string info) { Console.WriteLine(info); } } class father { public static ShowInfo StaticFat... 阅读全文
posted @ 2013-03-08 20:16 逆心 阅读(5160) 评论(1) 推荐(4) 编辑

摘要:最近真的火大了,Asp.net在类库中获取某文件的绝对路径。这个问题在初学的时候就经常碰到过,经常是查了忘,忘了查。浪费了大量的今天专门写个文章,以后到这里查。有时间顺便记得研究下这个东西。 在主程序目录就不说了Page.Server.MapPath(); 在类库里面,AppDomain.CurrentDomain.SetupInformation.ApplicationBase 这个属性加上文件相对于根目录的路径就OK了。 留个地址:http://www.cnblogs.com/hb_cattle/archive/2010/03/05/1679478.html,以后补充回来。 阅读全文
posted @ 2013-03-04 14:43 逆心 阅读(1992) 评论(0) 推荐(0) 编辑

摘要:DateTime类是.Net中用于处理时间类型数据的。一、字段 MaxValue 表示 DateTime 的最大可能值。此字段为只读。 MinValue 表示 DateTime 的最小可能值。此字段为只读。二、属性 Date 获取此实例的日期部分。 Day 获取此实例所表示的日期为该月中的第几天。 DayOfWeek 获取此实例所表示的日期是星期几。 DayOfYear 获取此实例所表示的日期是该年中的第几天。 Hour 获取此实例所表示日期的小时部分。 Kind ... 阅读全文
posted @ 2013-03-02 12:44 逆心 阅读(15700) 评论(0) 推荐(2) 编辑

摘要:委托的定义与方法的定义类似,只是返回值类型的前面多了个delegate。如:public delegate void PrientDelegate(string content),其实委托就是一个能够将方法封装成一个引用类型,能和普通对象一样传递。一、委托声明的注意点 1、和类一样,委托的声明可以再类的外部声明,委托也可以再类的内部声明。 2、委托的声明虽然形式上与方法很像,但是它没有方法主体,而是直接以分号结尾。 3、修饰符可以是new、public、protected、internal、private。 4、delegate关键字后是本委托类型可以匹配的方法签名,尤其需要注意的... 阅读全文
posted @ 2013-01-28 23:32 逆心 阅读(839) 评论(0) 推荐(1) 编辑

摘要:委托让方法参数化,而泛型实现了类型参数化。一、泛型类型的声明规则: 1、在类名称后跟一对尖括号,括号中为若干个类型参数,多个类型参数之间使用逗号进行分隔,类型参数实际上是个类型占位符。如、public class MyClass{},T只是个习惯,实际上用其他字母也完全可以。 2、在类声明的主体中使用类型参数来表示应该被替代的类型,一般是方法的参数类型,返回类型,或者作为字段、属性的类型。 示例1: public class MyClass { public T1 field1; //在类内部泛型类型还能用 public T2 field2; ... 阅读全文
posted @ 2013-01-27 22:52 逆心 阅读(829) 评论(0) 推荐(0) 编辑

摘要:数组的注意点:1、相同类型:数组中的数据元素类型都相同2、数据元素:数组中的数据项可以是任何类型,数据元素的类型也代表该数组的类型。访问数组元素通过数组名称和位置索引进行访问。3、有序:数组的元素是依据位置索引的,数组中的位置索引从0开始。4、集合:一个数组是一组数据元素的集合。5、数组类型属于引用类型。6、数组派生自类型System.Array。数组的声明:int[] arr1 = new int[5]; //声明数组的同时指定长度int[] arr2 = new int[5] { 1, 2, 3, 4, 5 }; //声明数组的同时指定长度以及元素 int[] arr = new int[ 阅读全文
posted @ 2013-01-20 17:45 逆心 阅读(531) 评论(0) 推荐(0) 编辑

摘要:dynamic类型是C#4.0中引入的新类型,它允许其操作掠过编译器类型检查,而在运行时处理。dynami类型在绝大多数情况下和object类型相似,不同之处在于编译器对于包含了dynamic的表达式不做进一步解析和类型检查。编译器将这些信息收集到一起,用于在运行时鉴定操作。也就是具体类型在运行时程序才知道。实际上,dynamic类型的变量被编译成object类型,因此,dynamic类型实际上只存在于编译期,而运行时并不存在。 先来看一段有趣的代码: static void Main(string[] args) { dynamic d... 阅读全文
posted @ 2013-01-20 16:20 逆心 阅读(2869) 评论(0) 推荐(0) 编辑

摘要:as运算符有一定的适用范围,它只适用于引用类型或可以为null的类型,而无法执行其他的转换,如值类型的转换以及用户自定义的类型转换,这类转换应该适用强制转换表达式来执行。as当转换不了的时候返回null而已,as不会抛出异常。 is运算符并不真正执行转换,它只是检查指定的对象是否与给定的类型是否兼容,说白了就是给指定的对象是否能转换为给定类型。 Person p = new Person(); p.Id = 1; p.Age = 23; p.Name = "张飞"; object... 阅读全文
posted @ 2013-01-20 12:21 逆心 阅读(779) 评论(0) 推荐(0) 编辑

摘要:在C#中,整形有以下几个sbyte,byte,char,short,ushort,int,uint,long,ulong。下面以表格的形式说明各种整形的取值范围 类型 取值范围 长度 sbyte -128~127 有符号8位整数 byte 0~255 无符号8位整数 char U+0000~u+ffff Unicode16位字符 short -32768~32767 ... 阅读全文
posted @ 2013-01-18 22:17 逆心 阅读(606) 评论(0) 推荐(0) 编辑

摘要:一、编码分很多种,编码的格式,多少字节表示一个字非常复杂,不懂这个。写几个懂得记下。 编码与解码: 计算机中储存的信息都是用二进制数表示的;而我们在屏幕上看到的英文、汉字等字符是二进制数转换之后的结果。通俗的说,按照何种规则将字符存储在计算机中,如'a'字符用什么表示,称为"编码";反之,将... 阅读全文
posted @ 2013-01-18 10:00 逆心 阅读(4593) 评论(2) 推荐(1) 编辑

摘要:一、在学习枚举之前,首先来听听枚举的优点。 1、枚举能够使代码更加清晰,它允许使用描述性的名称表示整数值。 2、枚举使代码更易于维护,有助于确保给变量指定合法的、期望的值。 3、枚举使代码更易输入。二、枚举说明 1、简单枚举枚举使用enum关键字来声明,与类同级。枚举本身可以有修饰符,但枚举的成员始终是公共的,不能有访问修饰符。枚举本身的修饰符仅能使用public和internal。枚举是值类型,隐式继承自System.Enum,不能手动修改。System.Enum本身是引用类型,继承自System.ValueType。枚举都是隐式密封的,不允许作为基类派生子类。枚举类型的枚举成员均为... 阅读全文
posted @ 2013-01-16 22:52 逆心 阅读(127560) 评论(10) 推荐(35) 编辑

摘要:Directory类 是一个静态类,常用的地方为创建目录和目录管理。一下来看看它提供的操作。1、CreateDirectory 根据指定路径创建目录。有重载,允许一次过创建多个目录。2、Delete 删除指定的目录。 有重载,指示目录有子目录的情况下,是否删除子目录。true则连同子目录一起删除。flase则不删除目录,并返回 一个异常。3、Exists 确定给定路径是否引用磁盘上的现有目录。 4、GetAccessControl 已重载。 返回某个目录的 Windows 访问控制列表 (A... 阅读全文
posted @ 2013-01-13 14:39 逆心 阅读(3148) 评论(0) 推荐(1) 编辑

摘要:扩展方法需要满足的条件1、扩展方法必须定义在静态类里。2、扩展方法必须是静态方法。3、扩展方法的第一个参数以this修饰符为前缀。4、扩展方法必须在使用它的类的扩展方法内,否则必须显示的using扩展方法所在的命名空间。5、扩展方法只能被对象调用。6、其他命名空间下的扩展方法优先级低于当前命名空间的扩展方法。7、扩展方法完成之后,必须重新生成一次才会有有代码提示。下面来写个实例,在MVC3中,写个HtmlHelper的Include扩展方法,引入一个HTML页面的代码代码到当前页面。首先建立一个静态类,然后写上扩展方法:namespace MVC_AjaxTest{ public sta... 阅读全文
posted @ 2013-01-13 14:31 逆心 阅读(743) 评论(0) 推荐(0) 编辑

摘要:一、Random生成随机数重复的问题 Random在生成随机数的时候,如果生成的时间非常短,那么很可能会出现生成的随机数重复的问题。 示例: static void Main(string[] args) { for (int i = 0; i < 10; i++) { Random random = new Random(); Console.WriteLine(random.Next(1, 100)); } Con... 阅读全文
posted @ 2012-12-12 16:09 逆心 阅读(755) 评论(0) 推荐(2) 编辑

摘要:一个盒子实际所占有的宽度或高度是由"内容+内边距+边框+外边距"组成。 1.边框border边框的主要属性有三个,分别是:border-width:边框宽度、 border-style:边框样式、border-color:边框颜色。以上属性可以单个写,也可以写成:border:[border-... 阅读全文
posted @ 2012-11-28 22:20 逆心 阅读(989) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示