自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(36)
  • 收藏
  • 关注

转载 多线程与Invoke,Beginvoke

转载自多线程与Invoke,Beginvoke首先,什么样的操作需要考虑使用多线程? 总的一条就是,负责与用户交互的线程(以下简称为UI线程)应该保持顺畅,当UI线程调用的API可能引起阻塞时间超过30毫秒时(比如访问CD-ROM等速度超慢的外设、进行远程调用等等)就应该考虑使用多线程。 为什么是30毫秒?30毫秒的概念是人眼可以察觉到的一个迟滞,大约等同于电影里的一帧停留的时间

2016-03-21 16:39:58 276

原创 Andorid的SDK Manager下载慢问题

下载好android 的SDK后,启动起来,下载各个版本的API和相关工具,但是那速度……以个位数的bit计。难以忍受!在网上看到一网友提供的方式,在此记录下来。打开SDK Manager。在其中输入:mirrors.neusoft.edu.cn80并勾选 Others的第一项。点击Close。现在那速度: 在我电脑上3m多

2015-12-10 17:18:05 217

原创 16 数组

数组是允许将多个数据项当做一个集合来出力的机制。所有数组类型都是从System.Array继承,而System.Array从Object继承而来数组相对简单,提供一些稍微注意的代码实例。string[] name = new string[]{"xiaolu","xiaowang"};//数组初始化器//也可以var names= new []{"xiaolu","xiaozhang"};//还

2015-11-23 16:25:54 216

原创 15枚举

枚举类型,相对其他类型来说,使用上要简单一些。枚举类型: 定义了一组“符号名称/值”配对。internal enum Color{ White,//0 Red,//1 Green,//2 Bule,//3 Orange//4}使用枚举类型而不是数字,可以使得代码更容易阅读,理解和维护。使用者定义的枚举类型都是从System.Enum继承,System.Enu

2015-11-22 22:29:06 183

原创 14字符串和文本处理

c#中,对于字符串的处理,使用起来比较方便【String类型被定义为基元类型】,当程序中出现literal(字符串常量时)会直接应用到string上【个人一般习惯写小写keywords(语法着色),这里string和String类是对应的,类似object和Object类】string是不可变的【immutable】,string类型中的大多数方法返回的都是一个新构造的字符串,使用者不用担心破坏原来

2015-11-22 11:25:50 166

原创 13接口【显式接口实现】

c#中的接口,有隐式接口【就是一般意义上直接实现某个接口中的方法,从表现上看,没有接口名称限定】,和显式接口【有接口名称限定】internal interface IDemo{ void func();}internal sealed class Demo : IDemo{ //隐式实现接口 public void func(){ ... }

2015-11-20 16:24:55 244

原创 12泛型

泛型这个概念并不算新鲜的事物【java,c++】等语言中也都各自有。然而,c#中的泛型使用起来还是更为方便简洁一些【尤其是可以向泛型施加的多种约束】

2015-11-19 19:56:02 249

原创 java自定义事件【详细】

package com.xiaolu.eventdemo;import java.util.EventListener;import java.util.EventObject;import java.util.HashSet;import java.util.Iterator;import java.util.Set;/** * @class EventDemo * @author x

2015-11-19 11:36:58 360

原创 11事件

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; namespace EventDemo { /** * 模拟实现C#中的事件机制

2015-11-18 18:43:37 204

原创 10 属性(property)

想对于【java/c++】这些语言来说,c#的property是比较独特的。给 使用者一种介于方法和字段之之间的感觉【对于编译器而言,其实还是一个字段+get/set两个方法】属性【property】,使用起来还是比较简单的:public sealed class PropertyDemo{ public string Name{get;set;} ...}个人比较喜欢这种方式,另

2015-11-18 14:45:35 261

原创 9参数

c#中,关于参数有 ref,out,params等修饰关键字,同时,也允许参数具有默认值,通过参数名称进行调用。如果一个方法有多个参数,并且有的参数具有默认值,那么具有默认值的参数应当在最后【也即,具有默认的参数右边不能有没有默认值的参数存在——–可变参数数组是个例外】。 类似:public void func(int i,j = 5,k = 10);对于func的调用:func(0);//只是对

2015-11-17 23:39:12 227

原创 const和值对象以及编译时常量

首先看一个例子: private static int s_n = 0; private static void M(int x = 9,string s = "A",DateTime dt = default(DateTime), Guid guid = new Guid()) { System.C

2015-11-17 22:07:08 527

原创 8扩展方法和分部方法

c#中有扩展方法和分部方法。扩展方法可以对一个已经存在的类型(class)中的功能进行添加,而不用对已有类进行修改或者派生【派生的方式对于值类型或者sealed修饰的类型来说行不通】在语法上: 扩展方法 要求所在的类型必须是一个静态类,并且扩展方法也是静态的【static修饰】,扩展方法只能用来对方法进行扩展,而不能扩展属性【property】,事件,委托等。扩展方法的第一个参数是要进行扩展的类型,

2015-11-17 19:07:59 278

原创 8方法

c#中的操作符重载和转换操作符,在c++中也有,因此并没有太多值得注意的地方。语法差异略大的地方是,c#要求操作符重载和转换操作符都必须是 public 和 static 修饰的。对于转换操作符来说,operator 后面紧跟要转换的目标类型即可。【前面有implicit/explicit修饰】 例如: public sealed class Demo{ public static im

2015-11-17 16:30:37 201

原创 7常量

c#中,const是默认具有static属性的,【这与c++语言有些不同】。因此不允许在const前有static修饰。说到const,就很难不提到另外一个东西 readonly,readonly只读量。从语义上来说,就是是只读的。c#中可以进行内联赋值或者在构造器中进行赋值,而不允许其他方法对只读量进行改写【可以通过反射进行修改】那么,const和readonly区别在哪里: const是常量。

2015-11-17 13:24:39 257

原创 类型和成员基础

c#中,通过static来修饰类型名称,可以使得类型无法被实例化。这里的类型指的是引用类型(class),static修饰只能用于类(class),而不能用于值类型(struct),因为CLR总是允许值类型实例化,这是没有办法阻止的。(java中不用使用static来修饰类型,可以将构造函数私有化来达到无法实例化的效果或者用abstract修饰)由于使用了static关键字来修饰类型,使得类型无法被

2015-11-17 11:03:37 238

原创 java和C#访问数据库字段空值

最近学习c#过程中,c#存在一种Nullable类型,也就是常说的“可空类型”,一般多在数据库访问时使用到。Nullable类型使用于值类型,因为引用类型本身就是“可空的”(可以直接赋值为null). 假设数据库中存有一张student表,其中有年龄(整数型)字段。而这个字段是允许为空的【也就是没置入数据】。 当一般查询时,遇到这种空值类型,常常会跑出异常,程序终止,用其他方式解决又相对麻烦,此

2015-11-16 20:14:58 275

原创 访问者模式

在诸多设计模式中,个人一直很难理解解释器模式和访问者模式【可能用相对少吧】。这两天决定去再次认真看看访问者模式,在网上搜了搜,发现给出的答案往往太过于“为了演示模式而举例“,看了之后还是一头雾水【知道了如何用,却很难理解为什么要用- -】,最终在网上找到一篇个人觉得举例还算贴近生活【具体作者忘了,在此说声谢谢】,看完后,加上自己的一番思考,方有了本篇博文。还是以网上那篇博文进行举例【但是又做了些许修

2015-09-28 14:47:25 206

原创 代理模式和装饰模式

** 代理模式和装饰模式**话说代理模式和装饰模式的uml图很类似,之前会用,但是对于语意却不甚理解。今天在翻到一篇博文时,忽然间感觉开朗了。简单理解: 代理模式 :主要用来控制对对象的访问。 装饰模式: 主要用来对对象动态的添加额外的一些“能力”,是继承的另一种替代。【但比继承好,优先使用组合而不是继承,使用装饰者模式,很大情况下因为继承容易产生子类爆炸】

2015-09-26 11:17:36 235

原创 数据结构学习(3)

chapter3 线性表线性表: 0个或者多个数据元素的有限序列。 【序列 说明元素之间具有顺序性】

2015-09-21 16:47:52 76

原创 数据结构学习(2)

chapter 2 算法算法 : 对 特定问题 的 求解步骤的描述 。在计算机中可以描述为一组 有序的指令序列,每个指令可以表示一个或多个操作步骤。【特定问题 说明了可以应付所有问题的“通用算法”并不存在,算法往往是针对某一种/某一类的问题进行“求解步骤的描述”】【有序的指令序列 是在计算机中的表示形式{程序/指令 序列}】算法具有如下几个特性:有穷

2015-09-21 16:43:23 207

原创 数据结构学习(1)

最近决定认真学学数据结构,在看完书的每一章后,把概要点列出来,方便自己查阅。chapter 1 基础术语数据: 是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合,数据不仅仅包含数值类型,还包含非数值类型。数据元素:是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。数据项:数据项是数据不可分割的最小单位。定义:一个数据元素可以由若干个数据项组

2015-09-20 23:11:16 198

原创 OO的思考

抽象的面向对象,抽象的OO。最近好容易得闲,再次翻开以前的书籍,充充电。躺着想到了一些东西。在 《effective c++》中,作者强调说 public继承具有is-a之关系,对于java等语言extends类似于c++中的public继承。回想一直以来,人们呐喊着,优先使用组合而不是继承,对于个人而言,有些时候,我会毫不犹豫选择继承,为什么?更多是为了得到"is-a"的

2015-09-19 15:40:28 225

原创 c++ Handle类的理解(2)

上一篇中, 阐明了代理类的产生和由来原因。一切都还可以,但是美中不足的是,每次都需要进行copy操作。这无疑是不好的,尤其是对于一切可能不能复制的情况,如数据库链接,打开的文件句柄,或者由于对象很大,复制会导致较大的开销。例子嘛,还是想到了书中的例子【其他例子也可以,不过这个例子毕竟简单,可能说服性也就不太好- -,理解思想就好】 //Point类 class Point(){

2015-09-12 16:58:44 988

原创 c++ Handle类的理解

这几天在看《C++沉思录》,看到第六章Handle类时,有一些疑惑,最近才慢慢想通,故有了本篇博客,作为一个记录。首先说到代理类的产生:class B{ public: //XXX; virtual function = 0;}; class D : public B{ public: //XXX virtual function;};class DD : pub

2015-09-12 11:34:29 2355

原创 c++ Handle类的理解

这几天在看《C++沉思录》,看到第六章Handle类时,有一些疑惑,最近才慢慢想通,故有了本篇博客,作为一个记录。 首先说到代理类的产生:class B{ public: //XXX; virtual function = 0;};  class D : public B{ public: //XXX virtual function;}; class DD : publi

2015-09-12 10:18:50 2109

原创 闭包中js的作用域链【scope chain】

话说,还是在继续学习js中【js很博大精深吖- -】 上篇转载了一篇“梦想天空“的文章,也是讲解作用域链的,但是还是给出本篇,也算是自己的学习和巩固。function compare(value1,value2){ if(value1 < value2){ return -1; }else if(value1 > value2){ return 1;

2015-08-18 16:02:21 284

转载 js作用域

本篇文章转自“梦想天空”,url: http://www.cnblogs.com/lhb25/archive/2011/09/06/javascript-scope-chain.html(如有侵权,msg me,马上删除- -)  作用域是JavaScript最重要的概念之一,想要学好JavaScript就需要理解JavaScript作用域和作用域链的工作原理。今天这篇文章对Jav

2015-08-18 13:49:44 167

原创 js 原型(prototype)继承相关2

在上篇《js 原型(prototype)继承相关》中,最后提到了关于函数的定义和继承,本篇幅给出其实现,这种方式书中称为 组合继承,看代码:function SuperType(name){ this.name = name; this.colors = ["red","blue","green"];}//在SuperType的原型中定义方法SuperType.prototype

2015-08-17 16:41:18 149

原创 js 原型(prototype) 继承相关

这两天还是在看js 继承这块,打算一鼓作气继续咯 - -。话说:我们通过直接使用原型继承的方式来实现了继承,来,简单回顾一下代码:function SuperType(){ this.property = true;}SuperType.prototype.getSuperValue = function(){ return this.property;}funcion SubT

2015-08-17 11:23:35 155

原创 js 继承【 原型(prototype)】

在学习原型这一节时,理解上花费了不少功夫,不过也有收获。在这里做个笔记,已便日后查看。js中描述了原型链的概念,并将原型链作为了实现继承的主要方法。基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。我们知道每个构造函数都一个原型对象【包含一个原型对象指针—prototype】,原型对象都包含一个指向构造函数的指针【constructor】,而实例都包含一个指向原型对象的内部指针【[[p

2015-08-17 10:37:54 143

原创 js 动态原型(prototype)模式

在将这个模式几乎是原封不动的照搬上来,一个是觉得这个模型更有OO的特点,另一个也是方便记忆。(其实对于前一种的混合模型【构造函数与原型混成】个人也没有觉得太多不适应。)有其他OO语言经验的开发人员在看到独立的构造函数和原型时,很可能会感到非常困惑。动态原型模式正式致力于解决这个问题的一个方案,它把所有信息都封装在了构造函数中,而通过在构造函数中初始化原型(在必要情况下),又保持了同时使用构造函数和原

2015-08-14 11:20:19 381

原创 js this问题

最近在学习js,在js书中说: this指针指向的是当前环境对象,比如:(1)function Test(temp){ this.temp = temp;}Test("test");alert(window.temp);Test中的this指向的是window对象(注:没有使用”use strict”的环境下),对于这些所谓的全局函数,其环境对象在web浏览器中就是window对象,

2015-08-13 21:13:17 156

原创 关于js的一点学习中的小感悟

最近下了决心好好学习下前端技术,于是开始了js(javascript)的学习。之前对于html,css,js这些也都用过,有所熟悉,不过对于js相对比较肤浅,做过一些简单的表单验证而已。 随着学习过程的推进,渐渐觉得js比较有趣的地方。(1) alert(test); function test(){ return "this is a test";

2015-08-12 21:04:11 344

原创 javascript中为什么无法为Function动态添加属性?

var t = new Function();t.name = "xiaolu";alert(t.name);这段代码,不会输出“xiaolu",但是如果 是:var t = new String();//或者 new Object();那么就是成立的。自己没有想出原因,在网上 也看到有人这样写:var f = function(){}var t = new f();t.name

2015-08-12 11:36:05 408

原创 关于变量存储区域问题

各位好,晚上看书时候,遇到一个问题,自己无法想通,故提出,希望得到大家的帮助。问题描述:  在变量的生存作用域时,(不妨这里以c语言为所用语言吧),一个函数内的局部变量在函数执行完毕后会被销毁。比如  (不太会在csdn上排版代码,见谅):(1)int func(){ int a = 5; return a; }  int main(){ int temp = func()

2015-08-12 00:25:08 224

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除