Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

C#匿名方法中的变量

C#匿名方法中的变量

前面一篇文章看到了C# 2.0中通过匿名方法来简化委托(见 http://www.linuxidc.com/Linux/2015-02/114153.htm),下面来看看匿名方法中的变量。闭包和不同的变量类型闭包的基本概念是:一个函数除了能够通过提供给它的参数与环境交互之外,还能同环境进行更大程度的互动。对于C# 2.0中出现的匿名方法的闭包表现为,匿名方法能使用在声明该匿名方法的方法内部定义的局部变量。在进一步了解闭包之前,我们先看看下面两个术语:外部变...
C#可空类型

C#可空类型

在程序开发中,有时候需要值类型也为可空类型,比如,在数据库中,我们可以把一个日期Datetime设置为null。在C# 2.0中就出现了可空类型,允许值类型也可以为空(null),可空类型的实现基于C#泛型。可空类型基本知识可空类型的核心是System.Nullable<T>,同时静态类System.Nullable为可空类型提供了很多实用的方法。下面分别看看可空类型的这两个重要组成部分。System.Nullable<T>通过IL...
C#基本知识点-Readonly和Const的区别

C#基本知识点-Readonly和Const的区别

什么是静态常量(Const)和动态常量(Readonly)先解释下什么是静态常量(Const)以及什么是动态常量(Readonly)。静态常量(Const)是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值。动态常量(Readonly)的值则是在运行的那一刻才获得的,编译器编译期间将其标示为只读常量,而不用常量的值代替,这样动态常量不必在声明的时候就初始化,而可以延迟到构造函数中初始化。静态常量(Const)和动态常量(Readonly...
Struts标签库详解

Struts标签库详解

在JSP页面中,使用标记库代替传统的Java代码来实现页面的显示逻辑是大势所趋,然而,由于自定义标记很容易造成重复定义和非标准的实现,于是出现了基于Java Web的JSTL和基于struts的taglib等标签库来解决这些问题。这些标签库在实现原理上相差无几,学会一种,另一种也就很容易上手,那咱们就从Struts的标签库走起。常用的strust标签库有<bean:write>、<logic:empty>和<logic:not...
谈谈对.NET开源框架Castle的认识

谈谈对.NET开源框架Castle的认识

最近项目优化,由架构师温工手把手辅导我搭架构,能每天接受一位久经沙场架构师的亲自指导,对我是莫大的荣幸。架构分为三个模块:AlarmEngineCoreLib模块为接口模块,AlarmEngineKernalLib模块为具体实现类模块,AlarmEngineWebApp为对外发布的WCF模块。核心模块AlarmEngineWebApp目录如下:我们在AlarmEngineWebApp模块通过Castle管理AlarmEngineCoreLib接口和Alar...
Lambda表达式和表达式树

Lambda表达式和表达式树

在C# 2.0中,通过方法组转换和匿名方法,使委托的实现得到了极大的简化。但是,匿名方法仍然有些臃肿,而且当代码中充满了匿名方法的时候,可读性可能就会受到影响。C# 3.0中出现的Lambda表达式在不牺牲可读性的前提下,进一步简化了委托。LINQ的基本功能就是创建操作管道,以及这些操作需要的任何状态。这些操作表示了各种关于数据的逻辑,例如数据筛选,数据排序等等。通常这些操作都是用委托来表示。Lambda表达式是对LINQ数据操作的一种符合语言习惯的表示方...
树莓派 安装 OpenCV 使用CMake 编译工程 最新版2015

树莓派 安装 OpenCV 使用CMake 编译工程 最新版2015

树莓派 安装 OpenCV 使用CMake 编译工程 最新版2015一、安装make,cmakesudo apt-get install makesudo apt-get install cmake二、下载deb包去这里下载libopencv_2.4.10.deb.zip(我不太好下载,折腾了好久最后是用手机流量才下载下来,电脑一直下载到一大半就停止不动了)那个deb的作者还发了这个帖子,有问题可以去问三、安装deb包解压.deb.zip,复制到RPi上,...
为什么我不喜欢Go语言式的接口(即Structural Typing)

为什么我不喜欢Go语言式的接口(即Structural Typing)

所谓Go语言式的接口,就是不用显示声明类型T实现了接口I,只要类型T的公开方法完全满足接口I的要求,就可以把类型T的对象用在需要接口I的地方。这种做法的学名叫做Structural Typing,有人也把它看作是一种静态的Duck Typing。除了Go的接口以外,类似的东西也有比如Scala里的Traits等等。有人觉得这个特性很好,但我个人并不喜欢这种做法,所以在这里谈谈它的缺点。当然这跟动态语言静态语言的讨论类似,不能简单粗暴的下一个“好...
Go语言使用心得

Go语言使用心得

13年上半年接触了Golang,对Golang十分喜爱。现在是2015年,离春节还有几天,从开始学习到现在的一年半时间里,前前后后也用Golang写了些代码,其中包括业余时间的,也有产品项目中的。一直有想法写点Golang相关的总结或者感想,决定还是在年前总结下吧。注明下:我只是Golang的喜好者,不是脑残粉,也无意去挑起什么语言之争。特性少,语法简单。GO是崇尚极简主义的,提倡少即是多。这点在它的Spec上尤其凸显,一下午的时间绝对可以看完。GO的特性...
什么时候 AngularJS 会超越 jQuery

什么时候 AngularJS 会超越 jQuery

web 新手常问的一个问题是“我应该使用哪个框架?”但这个问题却没有‘正确’的答案,通常主要讨论的是 AngularJS 和 jQuery的区别。但它们间的比较在某些方面就像是在比较苹果和橘子的区别,对于一个web应用,没有明确的原因非要使用一个主要的 web 框架实现。下面一些使用 AngularJS 要优先于 jQuery 的场景。当 DOM 操作是次要时jQuery 主要关注于 DOM 扫描和操作。一个...
使用Golang快速构建WEB应用

使用Golang快速构建WEB应用

我们从来都不开发代码,我们只是代码的搬运工。— 阿飞希望大家都变卡卡西。— 啊贱大家copy愉快,文档只做参考。如果发现问题或者有好的建议请回复我我回及时更正。1.Abstract在学习web开发的过程中会遇到很多困难,因此写了一篇类似综述类的文章。作为路线图从web开发要素的index出发来介绍golang开发的学习流程以及Example代码。在描述中多是使用代码来描述使用方法不会做过多的说明。最后可以方便的copy代码来实现自己...
C++右值引用浅析

C++右值引用浅析

一直想试着把自己理解和学习到的右值引用相关的技术细节整理并分享出来,希望能够对感兴趣的朋友提供帮助。右值引用是C++11标准中新增的一个特性。右值引用允许程序员可以忽略逻辑上不需要的拷贝;而且还可以用来支持实现完美转发的函数。它们都是实现更高效、更健壮的库。move语义先不展开具体右值引用定义。先说说move语义。右值引用是用来支持move语义的。move语义是指将一个同类型的对象A中的资源(可能是在堆上分配,也可能是一个文件句柄或者其他系统资源)搬移到另...
用Go实现的简易TCP通信框架

用Go实现的简易TCP通信框架

接触到GO之后,GO的网络支持非常令人喜欢。GO实现了在语法层面上可以保持同步语义,但是却又没有牺牲太多性能,底层一样使用了IO路径复用,比如在LINUX下用了EPOLL,在WINDOWS下用了IOCP。但是在开发服务端程序的时候,很多都是被动触发的,都是客户端发送来的请求需要处理。天生就是一个event-based的程序。而在GO下,因为并发是作为语言的一部分,goroutine, channel等特性则很容易的使程序员在实现功能时从容的在同步与异步之间...
<< 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 >>