摘要:
扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。对于用 C# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。 扩... 阅读全文
摘要:
ASP.NET MVC 随想录——开始使用ASP.NET Identity,初级篇阅读目录ASP.NET Identity 前世今生建立 ASP.NET Identity使用ASP.NET IdentityASP.NET Identity 其他API介绍小节在之前的文章中,我为大家介绍了OWIN和K... 阅读全文
摘要:
1.通过Comparable实现排序package Comparable;import java.util.Arrays;public class ComparableUser implements Comparable { private String id; private int ... 阅读全文
摘要:
31、String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有?没有。因为String被设计成不可变(immutable)类,所以它的所有对象都是不可变对象。在这段代码中,s原先指向一个String对象,内容是 "Hell... 阅读全文
摘要:
java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地... 阅读全文
摘要:
在多线程的程序中,经常会出现两种情况:一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应 这一般使用ThreadPool(线程池)来解决;另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒 这一般使用Timer(定时器)来解决;本篇文章单单讲线程池[Th... 阅读全文
摘要:
介绍Visual C# 2010 引入了一个新类型dynamic。该类型是一种静态类型,但类型为dynamic的对象会跳过静态类型检查。大多数情况下,该对象就像具有类型object一样。在编译时,将假定类型化为dynamic的元素支持任何操作。因此,您不必考虑对象是从 COM API、从动态语言(例... 阅读全文
摘要:
什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。什么是多线程?多线程是... 阅读全文
摘要:
一:反射的定义 审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。 System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码 Sys... 阅读全文
摘要:
之前写过两篇关于异步编程的文章,详细可以进入C#~异步编程和C#~异步编程在项目中的使用.net的各个版本都有自己主推的技术,像.NET1.1中的委托,.NET2.0中的泛型,.NET3.0中的Linq,.NET4.0中的Dynimac,而在.NET4.5中主要推出的是异步编程,而实现异步编程的简单... 阅读全文