- 博客(35)
- 资源 (2)
- 收藏
- 关注
原创 .NET中的Task
1. 创建Task:Console.WriteLine("Before task1, with thread id: {0}", Environment.CurrentManagedThreadId);Console.WriteLine("=== Time before tasks begin ===");Console.WriteLine(DateTime.Now.ToLongTime
2014-01-15 19:18:46
1062
原创 创建线程的空间开销
创建线程是一件非常消耗资源的事情。下面的C#代码可以得到创建一个线程的空间开销:private static void DumyTask(){ Thread.CurrentThread.Suspend();}private static long GetMemoryUsageInKB(){ int oneKB = 1024; long memorySize
2014-01-15 12:39:46
3310
原创 C#基于DataContract序列化成XML格式
1. 序列化代码:static string SerializeData(T data){ var serializer = new DataContractSerializer(typeof(T)); using (var stringWriter = new System.IO.StringWriter()) using (var writer = new Sy
2014-01-03 17:23:34
1638
原创 不一样的Javascript(14)——继承
1. Just draft. Will be revised soon. Please wait :)function Person(name, age) { this.name = name; this.age = age;}Person.prototype.toString = function() { return "name is " + this.nam
2013-12-26 17:51:52
835
原创 不一样的Javascript(13)——模块化与命名空间
1. Just Draft. Will be finalized soon. Please wait // Module A in ModuleA.jsvar name = "Harry";function printName() { console.log("I'm in ModuleA, " + name);}// Module B in ModuleB.jsvar
2013-12-24 22:54:06
1499
原创 动手学Javascript(3)——HTML5模拟下雪
马上就是圣诞节,基于HTML5的Canvas写个网页动画,祝大家圣诞节快乐。该动画用简单的模型模拟下雪的场景,雪花被简化成一个白色的圆形,并按照正弦曲线缓慢降落。
2013-12-23 14:11:02
4234
原创 不一样的Javascript(12)——prototype
1. 可以通过往基本类型的protytype里添加新的函数。这样该类型的每个实例对象都可以调用新添加的函数。例如:String.prototype.countWords = function() { var separators = /\s+|\?|\./; var words = this.split(separators); var wordsCount
2013-12-20 17:46:42
758
原创 不一样的Javascript(11)——函数与对象
1. 每个函数都是对象,因此函数上可以定义自己的属性。例如:test.counter = 0;function test() { console.log(test.counter); test.counter++;}test(); // 0test(); // 1test(); // 2
2013-12-17 17:50:32
836
原创 不一样的Javascript(10)——函数嵌套
1. 在Javascript中,函数中可以嵌套其他函数。例如:function distance(x1, y1, x2, y2) { function square (x) { return x * x; } return Math.sqrt(square(x1 - x2) + square(y1 - y2));}var result =
2013-12-17 17:17:34
12322
原创 动手学Javascript(2)——超过30岁还能做程序员吗?
本文用Javascript写一个小程序得到stackoverflow上的用户数据,来回答一个很经典的问题:超过30岁还能做程序员吗?
2013-12-13 18:25:58
3772
原创 不一样的Javascript(9)——基本类型
1. 在Javascript中,不再区分整数和浮点数。所有数值都用64位浮点数表示,可表示的范围大到±1.7976931348623157×10^308,小到±5 × 10^−324。在Javascript中通常的计算不需要对大数做特殊处理。2. 在Javascript中,对溢出、除0等都能正常执行并且有定义好的返回值,而不会抛出错误(异常)。2.1 如果计算结果超出了最大的可表示的数值,
2013-12-10 11:09:42
952
原创 不一样的Javascript(8)——基本语法
1. 在Javascript中,变量名可以是非英文字符:var 数组 = [1, 2, 3, 4, 5];var π = 3.14;数组.push(π);console.log(数组); // [1, 2, 3, 4, 5, 3.14]
2013-12-09 16:26:04
859
原创 不一样的JavaScript(7)——数组
1. 在Javascript中,我们可以用new Array()来创建一个数组,然后用下表读写数组中的元素。例如:var array1 = new Array();array1[0] = "a";array1[1] = 1;array1[2] = true;for(var i = 0; i < array1.length; ++i) { console.log(array1[
2013-12-06 17:31:21
1209
原创 不一样的JavaScript(6)——函数调用
1. 和C++/C#/Java类似,函数在被调用的时候用this指向函数的上下文对象。2. 当函数没有与某个上下文对象绑定的时候,this指向全局的window对象。例如:window.number = 10;function printNumber() { console.log(this.number);}printNumber();在上述代码中,由于this
2013-12-06 10:43:20
942
原创 不一样的JavaScript(5)——变量作用域
1. Javascript中没有块作用域,及if,for等定义的代码块不能限制变量的作用域。例如:if(true) { var number = 10;}console.log(number);for(var i = 0; i < 5; ++i) { // do something}console.log(i);变量number尽管是定义在if {...}中,但
2013-12-05 17:42:45
867
原创 Cmdlet学习笔记(3)—多次执行命令之间保存状态
在前面博客中的Cmdlet中添加两个变量:[Cmdlet(VerbsCommon.Get, "AddTwo")]public class GetProduct : PSCmdlet{ private static int numOfExecution1 = 0; private int numOfExecution2 = 0; private int num1 =
2013-10-17 16:24:21
1017
原创 Cmdlet学习笔记(2)——添加参数
定义如下Cmdlet:[Cmdlet(VerbsCommon.Get, "AddTwo")]public class GetSum : PSCmdlet{ private int num1 = 0; private int num2 = 0; [Parameter(Mandatory = true, Position = 1, ValueFromPipelineB
2013-10-17 16:01:27
1625
原创 Cmdlet学习笔记(1)——Hello Cmdlet
一、编写代码1. 在Visual Studio中新建一个Class Library类型的Project,命名为Cmdlet1;2.添加引用:System.Management.Automation和System.Configuration.Install;注System.Management.Automation位于目录"C:\Program Files\Reference Assem
2013-10-14 17:22:30
1063
原创 不一样的JavaScript(4)——函数参数
1. 在Javascript中,如果函数申明时的参数个数和函数调用时的参数个数不相等,并不会引起语法错误。1.1 如果函数声明时的参数个数多于函数调用时的参数个数,在调用时没有设置的参数会被自动设为undefined。function divide(num1, num2) { if (num2 == undefined) { num2 = 2; }
2013-09-10 17:01:38
3720
原创 不一样的JavaScript(3)——比较
1. Javascript除了有==和!=两个运算符比较两个值或对象是否相等,还提供了===和!==两个运算符。
2013-09-09 15:17:23
774
原创 不一样的JavaScript(2)——属性
1. 和很多语言一样,在Javascript中可以在对象的后面用“.”运算符来读写属性。2. Javascript还支持用[] 来读写属性。var person = {};person["name"] = "harry";person["age"] = 32;for (var property in person) { console.log(property, ": ",
2013-09-06 10:10:27
945
原创 不一样的JavaScript(1)——循环
1. 和很多语言中的循环一样,JavaScript支持for, while, do...while循环,并且在循环体内支持continue和break;2. JavaScript的continue和break除了能终止当前最里面一层循环外,还支持跳转到特定的标签(通常跳转到外层循环)。比如下面的例子:2.1 break后不跟标签:for (var i = 0; i < 4; ++i)
2013-09-05 11:14:08
1014
原创 不一样的C#(2)——delegate、event、lambda以及LINQ
1. Delegatehttp://msdn.microsoft.com/en-us/library/vstudio/ms173171.aspx2. Eventhttp://msdn.microsoft.com/en-us/library/awbftdfh.aspx3. Lambdahttp://msdn.microsoft.com/en-us/library/bb397687
2013-06-20 22:57:01
880
原创 不一样的C#(1)——class
1. Partial Classeshttp://msdn.microsoft.com/en-us/library/wa80x488(v=VS.80).aspx2. Static Constructorshttp://msdn.microsoft.com/en-us/library/k9x6w0hc.aspx3. out and ref Method Parametershtt
2013-06-20 21:52:43
889
原创 不一样的Python(10)——objects
1. 每个Python的object都有如下属性:(1)一个唯一的id(由函数id()获得)(2)一个type(由函数type())获得)(3)一些内容我们不能修改object的id和type。有些object的内容可以修改,有些不行。http://effbot.org/zone/python-objects.htm有更多的讨论。2. 注意下面的代码,ID是object的内
2012-11-12 14:50:50
661
原创 不一样的Python(8)——类型
1. 以关键字class开始定义一个新的类型:class Employee: def setname(self, who): self.name = who def display(self): print self.name self相当于C++中的this指针。C++的this指针是隐含的,但Python中self是需要显示地写出。2. Python 把对象(o
2012-01-30 08:06:52
669
原创 不一样的Python(7)——函数
1. 参数是以传引用的方式;def fun1(l): for i in range(len(l)): l[i] *= 2def fun2(l): l = l + l如果以一个类型为list的L为参数调用fun1,返回时L的内容会发生改变;但同样以一个类型为list的L为参数调用fun2,返回时L的内容不会发生改变。2. 函数体内的对某变量的第一次赋值,都会创建一个新的局
2012-01-19 14:58:27
764
原创 不一样的Python(6)——循环
1. for/while的循环语句中,可以带上else,里面的语句在当循环不是因为break而结束时执行。 length = len(numbers) i = 0 while i < length: if numbers[i] == n: found = True break i += 1
2012-01-18 16:06:33
705
原创 不一样的Python(5)——if语句
1.elif表示else if的缩写2. Python中没有swich/case语句。可以用字典(dictionary)实现在多个条件中选择。3. 所有的非零数字和非空实例都是True;4. 零、空的实例以及None都是False;5. and, or返回的不是Ture或者False,而是一个实例对象;比如下列代码中a的结果是2,而不是Truea = (2 and 3)pri
2012-01-17 17:07:56
2039
原创 不一样的Python(4)——字符串
1.字符串str是不可修改类型; class PassByReference: def __init__(self): self.variable = 'Original' self.Change(self.variable) print self.variable def Change(self, var): var = 'Cha
2012-01-09 14:15:44
1089
原创 不一样的Python(3)——数字
1. 支持大数2. 没有自增(++)、自减(--)运算符3. **表示乘方4. 一定范围内的整数,它们只有唯一的一份拷贝:>>> a = 257>>> b = 257>>> id(a)35351736>>> id(b)35351712>>> a = 256>>> b = 256>>> id(a)30341244>>> id(b)30341244
2012-01-09 14:12:43
811
原创 不一样的Python(2)——代码风格
1. 在if/for/while/定义函数def等语句后面需加上冒号(:);2.在if/for/while语句中不需要括号;3.语句后面不许要分号(;);4.if/for/while语句和函数体不许要大括号({}),用缩进表示;
2012-01-09 11:01:11
779
原创 不一样的Python(1)——Data Container
1. 从命名上,Python的List是一个链表,而它实际上是一个数组(Array)。更确切地说,它是一个动态数组,类似于C++的std::vector。2. Slicea[start:end] # items start through end-1a[start:] # items start through the rest of the arraya[:end]
2012-01-04 15:22:15
2531
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人