上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 18 下一页
摘要: 6、实用函数 ● 修剪字符串$('#id').val($.trim($('#someid').val()))● 遍历集合可能这样写:var anArray = ['one','two'];for(var n = 0; n 3;})console.log(arr);//结果是:4 5 6如果把grep的第三个参数显式地设置为true,结果怎样呢?var arr = [1, 2, 3, 4, 5, ... 阅读全文
posted @ 2014-08-20 22:37 Darren Ji 阅读(688) 评论(0) 推荐(0) 编辑
摘要: 5、动画特效 ● 自制折叠内容块 内容块如下 标题 近日,《体坛周报》记者马德兴在接受天津体育频道《体坛新视野》节目采访时表示自己对恒大[微博]的情况比较担忧,恒大统治力比上赛季下降了很多,恒大外援存在位置重叠的问题,客场不输给西悉尼流浪者就是一个可以接受的结果。该节目称恒大... 阅读全文
posted @ 2014-08-20 12:51 Darren Ji 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 4、事件 ● 通过方法名给元素绑定事件:$('li').click(function(event){})● 通过bind方法给元素绑定事件:$('li') .bind('click',function(event){}) .bind('click',function(event){}) 可见,通过bind,可以给元素绑定多个事件。● 事件的命名空间为什么需要事件命名空间?→假设,先给l... 阅读全文
posted @ 2014-08-20 10:21 Darren Ji 阅读(658) 评论(0) 推荐(0) 编辑
摘要: 1、基础 jquery对象集: $():jquery对象集合 获取jquery对象集中的元素: 使用索引获取包装器中的javascript元素:var temp = $('img[alt]')[0] 使用jquery的get方法获取jquery对象集中的javascript元素:var temp = $('img[alt]').get(0) 使用jquery的eq方法获取jquer... 阅读全文
posted @ 2014-08-19 16:55 Darren Ji 阅读(810) 评论(1) 推荐(0) 编辑
摘要: 位运算符包括:| 按位或 OR,& 按位与 AND,^ 按位异或 XOR,~ 取反 NOT,> 右移 Right Shift,等等。本篇体验位运算符在C#中的应用。主要包括: ○ 进制转换 ※ 十进制转换成二进制 ※ 二进制转换成十进制○ | 按位或操作符○ & 按位与操作符○ ^ 按位异或操作符 ※ 使用^按位异或交换2个数 ※ 使用^按位异或进行加密运算○ ~ 取反操作符○ x > n 右移... 阅读全文
posted @ 2014-08-19 08:14 Darren Ji 阅读(13050) 评论(1) 推荐(3) 编辑
摘要: “世界上不会有两片完全相同的树叶”,这句话适用于现实世界。而在软件世界中,这句话变成了"世界上必须有两片完全相同的树叶",否则,很多事情无以为继。 当比较2个对象是否相等时,通常情况下:==操作符用来比较值类型,比较的是值;实例方法Equals和静态方法Object.ReferenceEquals比较引用类型,比较的是对象的地址。 在实际项目中,当比较2个引用类型对象时,我们的需求变为:通过依... 阅读全文
posted @ 2014-08-18 18:02 Darren Ji 阅读(995) 评论(2) 推荐(0) 编辑
摘要: 本篇用C#实现ATM自动取款机的一些功能。面临的第一个问题是:如何把与自动取款机相关的有形的、无形的方面抽象出来。大致如下: (1)关于用户帐号的类:Account(2)关于银行数据库的类:BankDatabase(3)关于ATM屏幕显示的类:Screen(4)关于ATM键盘的类:Keypad(5)关于进钞、出钞口的类:DepositSlot(6)关于ATM出钱的类:CashDispendser... 阅读全文
posted @ 2014-08-15 19:51 Darren Ji 阅读(8833) 评论(2) 推荐(2) 编辑
摘要: 如果有一个值不太会变化,我们经常使用const和readonly,这2者有何不同呢?有时候,我们也会在readonly之前加上关键字static,这又意味着什么呢? const ● const默认是静态的,可以通过"类名.字段名"来访问。● const变量只能在声明的时候赋值,不能在构造函数中为const类型变量赋值。● 一旦程序集被编译,const变量会被写进程序集的IL代码中。如果想修改c... 阅读全文
posted @ 2014-08-15 10:14 Darren Ji 阅读(886) 评论(0) 推荐(1) 编辑
摘要: 中国足球的水平虽然不高,但实际上,在每个城市会有一批足球爱好者,他们踢球、看球、懂球。有这样的2个足球爱好者,一个是左脚选手,另一个是右脚选手。 public class PlayWithLeft { public void Play() { Console.WriteLine("我是左脚选手"); } } p... 阅读全文
posted @ 2014-08-14 16:20 Darren Ji 阅读(666) 评论(0) 推荐(0) 编辑
摘要: 增量运算符++属于一元运算符,增量运算符可以出现在变量的前面作为前缀,也可以出现在变量的后面作为后缀。两者有何区别呢? 前缀方式加1先使用前缀方式加1,并把前缀方式加1后变量的值赋值给另外一个临时变量temp。 static void Main(string[] args) { int num1 = 0; while ... 阅读全文
posted @ 2014-08-14 10:37 Darren Ji 阅读(1689) 评论(0) 推荐(1) 编辑
摘要: 我们知道,抽象类是不能被实例化的。但抽象类是否可以有构造函数?答案是可以有。抽象类的构造函数用来初始化抽象类的一些字段,而这一切都在抽象类的派生类实例化之前发生。不仅如此,抽线类的构造函数还有一种巧妙应用:就是在其内部实现子类必须执行的代码。 以下就是在抽象类的构造函数中来初始化字段。 class Program { static void Main(string[] ... 阅读全文
posted @ 2014-08-13 08:48 Darren Ji 阅读(27300) 评论(0) 推荐(2) 编辑
摘要: 假设有2个类,一个类是主力球员,一个类是替补球员。 public class NormalPlayer { public int ID { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public de... 阅读全文
posted @ 2014-08-12 22:13 Darren Ji 阅读(2899) 评论(0) 推荐(0) 编辑
摘要: int类型的最大值是2147483647,2个最大值相加就会超出int的最大值,即出现溢出。 class Program { static void Main(string[] args) { int y = 2147483647; int x = 2147483647; int z = x... 阅读全文
posted @ 2014-08-12 17:13 Darren Ji 阅读(1085) 评论(1) 推荐(0) 编辑
摘要: 当对2个数实现加减乘除,其中的一个解决方案是通过委托来实现。如下: class Program { private delegate int CaculateDel(int num1, int num2); static void Main(string[] args) { CaculateDel caculateDel ... 阅读全文
posted @ 2014-08-12 16:36 Darren Ji 阅读(259) 评论(0) 推荐(0) 编辑
摘要: Convert.ToString能处理字符串为null的情况。 static void Main(string[] args) { string msg = null; Console.WriteLine(Convert.ToString(msg)); Console.ReadKey(); ... 阅读全文
posted @ 2014-08-12 15:57 Darren Ji 阅读(608) 评论(0) 推荐(0) 编辑
摘要: 本篇体验私有构造函数的特点,以及在何种情况下使用私有构造函数。 □ 带私有构造函数的类不能被继承 在Animal类中声明一个私有构造函数,让Dog类来继承Animal类。 public class Animal { private Animal() { Console.WriteLine("i am animal"); ... 阅读全文
posted @ 2014-08-12 15:39 Darren Ji 阅读(1303) 评论(0) 推荐(0) 编辑
摘要: 在Visual Studio中,生成应用程序的时候有2种模式:Debug和Release。两者之间如何取舍呢? 假设有这么简单的一段代码,在主程序中调用方法M1,M1方法调用M2方法,M2方法调用M3方法,M3方法中抛出异常。 class Program { static void Main(string[] args) { M1();... 阅读全文
posted @ 2014-08-12 12:11 Darren Ji 阅读(2811) 评论(0) 推荐(1) 编辑
摘要: 本篇体验Visual Studio的10个调试技巧,包括: 1、插入断点和断点管理2、查看变量信息3、逐语句F11,逐过程F10,跳出Shift+F114、查看堆栈信息5、设置下一条执行语句6、调试时修改局部变量并继续调试7、线程管理8、为断点设置条件9、使用命令窗口测试方法10、变量的历史记录 有这样的一个Person类: public class Person { ... 阅读全文
posted @ 2014-08-08 19:03 Darren Ji 阅读(2606) 评论(0) 推荐(4) 编辑
摘要: 与链表、堆栈和队列不一样,二叉查找树不是线性数据结构,是二维数据结构。每个节点都包含一个LeftNode和RightNode,二叉查找树把比节点数据项小的数据放在LeftNode,把比节点数据项大的数据放在RightNode。 关于节点的类。 public class TreeNode { public T Element { get; set; } pub... 阅读全文
posted @ 2014-08-07 16:11 Darren Ji 阅读(701) 评论(0) 推荐(0) 编辑
摘要: 队列和堆栈都是约束版的链表,就像在超市购物,队列是先进先出的数据结构。 接着上一篇,派生于链表类List,来模拟一个队列。namespace LinkedListLibrary{ public class QueueInheritance : List { public QueueInheritance() : base("queue"){} //入队:到... 阅读全文
posted @ 2014-08-04 17:19 Darren Ji 阅读(634) 评论(0) 推荐(0) 编辑
摘要: 在"了解集合本质必须要知晓的概念-链表"中,我们了解了链表的概念和种类,并且模拟了一个单向链表。本篇体验的堆栈是约束版的链表,只能在栈顶接收新节点和释放节点。 堆栈的主要操作是压栈和出栈。压栈是将新节点放在栈顶,出栈是从栈顶取出一个节点,返回新弹出节点的数据项。堆栈也称为后进先出的数据结构。 接着上一篇,写一个派生于List的类来模拟堆栈的压栈和出栈。namespace LinkedListL... 阅读全文
posted @ 2014-08-04 16:41 Darren Ji 阅读(726) 评论(0) 推荐(0) 编辑
摘要: 如果想对集合(系列)有本质的了解,链表是一个必须了解的概念。本篇主要包括: ● 链表的由来和定义● 创建一个单向链表● 其它链表 链表的由来和定义 在现实生活中,我们把不同的商品放在一个购物车中。而在面向对象的世界里,有时候,也需要把不同类型的数据放到一起,组成一个集合。集合中的元素并不是彼此孤立的,在C#中,如何表达集合元素间的关系呢? 借助"自引用类"可以确立集合元素间的关系。比如有这样... 阅读全文
posted @ 2014-08-01 18:25 Darren Ji 阅读(1308) 评论(0) 推荐(0) 编辑
摘要: 在电商网站中,有时候通过进度条来直观地显示用户是否到期以及用户当前的状态。 设计这样的一个Model。 public class User { public int Id { get; set; } public string Name { get; set; } public int CoopTime { get; set; } ... 阅读全文
posted @ 2014-07-29 23:37 Darren Ji 阅读(1519) 评论(0) 推荐(0) 编辑
摘要: 在选择排序中,从第一个元素开始,依次遍历数组中的元素,找出当前遍历元素之后的最小元素,与当前遍历元素交换位置,依此类推,是一种由前往后的排序。而在插入排序中,从第二个元素开始,依次遍历数组中的元素,把当前遍历元素与之前的元素进行比较,并插入到之前的某个位置,是一种由后往前的排序。 自定义一个类,里面维护着一个int[]类型数组,通过构造函数定义数组长度并初始化,并提供了打印和插入排序的相关方法... 阅读全文
posted @ 2014-07-29 11:13 Darren Ji 阅读(998) 评论(0) 推荐(0) 编辑
摘要: 选择排序是一种低效的排序算法,大致过程是:遍历数组的每一个元素,先假设0号位置上的元素是最小的,并把0号索引赋值给一个表示最小元素索引的变量,比如说是smallest,再遍历0号位置以后的元素,一旦发现有比0号位置元素更小的元素,就把该元素的索引赋值给smallest,继续遍历,最终把0号位置以后最小元素的索引赋值给了smallest变量,再把0号位置和smallest位置上的元素互换,这样,在0... 阅读全文
posted @ 2014-07-29 09:45 Darren Ji 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 折半查找,也叫二分查找,当在一个数组或集合中查找某个元素时,先定位出中间位置元素,如果要查找的元素正好和该中间位置元素相等,通过一次查找,就能找到匹配元素;如果要查找的元素小于该中间位置元素,就抛弃后面一半的元素,在前面一半的元素中再定位出中间位置元素,如此反复,直到找到匹配元素;如果要查找的元素大于该中间位置元素,就抛弃前面一半的元素,在后面一半的元素中定位出中间位置元素,如此反复。 面临的... 阅读全文
posted @ 2014-07-28 17:41 Darren Ji 阅读(2090) 评论(0) 推荐(0) 编辑
摘要: 线性查找,肯定是以线性的方式,在集合或数组中查找某个元素。本篇包括: 通过代码来理解线性查找 时间复杂度 什么是算法 通过代码来理解线性查找 什么叫"线性"?还是在代码中体会吧。 首先需要一个集合或数组,如何得到呢?就生成一个固定长度的随机数组吧。然后输入一个查找key,如果找到就返回元素的索引,没找到就返回-1,就这么简单。 class Program { ... 阅读全文
posted @ 2014-07-26 23:26 Darren Ji 阅读(3916) 评论(0) 推荐(0) 编辑
摘要: 实现洗牌游戏的一种算法是:遍历每个位置上的牌,然后与随机位置上的牌交换。 对于牌来讲,2个关键的因素是面值和类型(红桃、梅花等)。 public class Card { private string mianzhi; private string leixin; public Card(string m, string l) ... 阅读全文
posted @ 2014-07-26 13:07 Darren Ji 阅读(605) 评论(0) 推荐(0) 编辑
摘要: 本篇体验Moq的一些基本用法。首先通过NuGet安装Moq。包括: 模拟方法的返回值 模拟方法后执行回调函数 模拟方法依次返回多个值 模拟第二次调用方法返回异常 直接返回被模拟方法的原始返回值 模拟泛型类 模拟方法的返回值 public class HelperClass { public virtual Boolean IsEnabled() ... 阅读全文
posted @ 2014-07-26 09:23 Darren Ji 阅读(2849) 评论(0) 推荐(0) 编辑
摘要: 递归的一个典型应用就是遍历目标文件夹,把该文件夹下的所有文件和文件夹打印或显示出来,还可以递归计算目标文件夹的总大小。 1: class Program 2: { 3: static void Main(string[] args) 4: { 5: Console.WriteLine("输入目标文件夹"); 6: ... 阅读全文
posted @ 2014-07-25 12:57 Darren Ji 阅读(768) 评论(0) 推荐(0) 编辑
摘要: 如果想实现一个阶乘,比如6 * 5 * 4 * 3 * 2 * 1,首先想到的可能是循环遍历。如下: class Program { static void Main(string[] args) { Console.WriteLine("请输入一个数"); int number = Convert.ToInt3... 阅读全文
posted @ 2014-07-25 11:21 Darren Ji 阅读(1934) 评论(0) 推荐(0) 编辑
摘要: 简单来说,struct是值类型,创建一个struct类型的实例被分配在栈上。class是引用类型,创建一个class类型实例被分配在托管堆上。但struct和class的区别远不止这么简单。本篇主要包括: ■ 概括来讲■ 从赋值的角度体验struct和class的不同■ 从参数传值角度体验struct和class的不同■ 从struct类型的struct类型属性和struct引用类型属性体验st... 阅读全文
posted @ 2014-07-24 23:45 Darren Ji 阅读(884) 评论(0) 推荐(0) 编辑
摘要: 当使用Entity Framework,并且把领域模型的某个字段设置成不能为null,但在保存、更新的时候,如果领域模型的该字段为null了,就会报如上错误。 解决方法:给领域模型不能为null的字段设置有值,哪怕是空值也可以。 阅读全文
posted @ 2014-07-23 16:20 Darren Ji 阅读(1134) 评论(0) 推荐(0) 编辑
摘要: 在"MVC批量添加,增加一条记录的同时添加N条集合属性所对应的个体"中,对于前台传来的多个TextBox值,在控制器方法中通过强类型来接收。使用FormCollection也可以接收来自前台的多个TextBox值。实现效果如下: 动态添加TextBox: 后台使用FormCollection接收来自前台的TextBox值,再以TempData把接收到的值返回: 当页面没有TextBox,点... 阅读全文
posted @ 2014-07-23 11:00 Darren Ji 阅读(2874) 评论(0) 推荐(0) 编辑
摘要: 我们经常用简单数据类型,比如int作为泛型Dictionary的key,但有时候我们希望自定义数据类型作为Dictionary的key,如何做到? 如果我们想自定义一个struct类型作为key,就必须针对该struct定义一个实现IEqualityComparer接口的比较类,实现该接口的2个方法:Equals()方法和GetHashCode()方法,前者用来比较两个key是否相等,后者用来获... 阅读全文
posted @ 2014-07-22 12:56 Darren Ji 阅读(3192) 评论(0) 推荐(0) 编辑
摘要: .net扩展方法可以扩展很多类型,包括:基本数据类型、接口、类,等等。如果,需要扩展的类型包含私有成员,扩展方法如何运用这些私有成员呢?本篇逐一体验,包括: ■ 扩展基本数据类型■ 扩展接口■ 扩展包含私有字段的类 使用反射获取类的私有字段■ 扩展一个类的私有嵌套类 通过反射 扩展方法有几个必要前提:● 扩展方法所在的类必须是静态类● 扩展方法本身必须是静态方法● 扩展方法参数中,对类型的扩展... 阅读全文
posted @ 2014-07-18 11:14 Darren Ji 阅读(1098) 评论(0) 推荐(0) 编辑
摘要: 在项目中,有时候会用到领域枚举和DTO枚举的映射和转换。有一个现实的问题是:如果领域枚举项发生变化,而DTO枚举项没有及时更新,这样会造成映射不上的问题。那么,如何避免此类问题呢? 先看领域枚举和DTO枚举映射完好的情况。 class Program { static void Main(string[] args) { var queryO... 阅读全文
posted @ 2014-07-18 09:17 Darren Ji 阅读(7770) 评论(0) 推荐(0) 编辑
摘要: 对于一些"大对象"的创建,我们常常希望延迟加载,即在需要的时候再创建对象实例。现在Lazy很好地支持了这一特点。主要包括: 没有Lazy之前 Lazy实例 延迟加载的本质 没有Lazy之前 在没有Lazy之前,我们通过如下方式实现延迟加载。 public class LazySinleton{ private LazySingleton() {} public sta... 阅读全文
posted @ 2014-07-18 08:35 Darren Ji 阅读(3164) 评论(0) 推荐(0) 编辑
摘要: 协变(Convariant)和逆变(Contravariant)的出现,使数组、委托、泛型类型的隐式转换变得可能。 子类转换成基类,称之为协变;基类转换成子类,称之为逆变。.NET4.0以来,支持了泛型接口的协变和逆变。 泛型协变 如果子类泛型隐式转换成基类泛型,使用泛型协变。 有这样的2个基类和派生类。 public class Animal { public virt... 阅读全文
posted @ 2014-07-17 19:12 Darren Ji 阅读(2174) 评论(0) 推荐(3) 编辑
摘要: 在" .NET泛型01,为什么需要泛型,泛型基本语法"中,了解了泛型的基本概念,本篇偏重于泛型的使用。主要包括: ■ 泛型方法重载需要注意的问题■ 泛型的类型推断■ 泛型方法也可以有约束■ 泛型接口■ 泛型委托■ 使用EventHandler事件泛型 泛型方法重载需要注意的问题 public class MyArray{ public T myData; public MyArr... 阅读全文
posted @ 2014-07-17 16:02 Darren Ji 阅读(1471) 评论(0) 推荐(0) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 18 下一页

我的公众号:新语新世界,欢迎关注。