摘要:在C#3.0中,一个对象创建表达式可以包含一个对象或集合初始化器,用于初始化新创建的对象的成员或新创建的集合的元素。
对象创建表达式:
new type (argument-list(可选)) 对象或集合初试化器(可选)
new type 对象或集合初试化器
一个对象创建表达式可以省略构造器参数列表,并将其连同圆括号一起替换为一个对象或集合初始化器。省略构造器参数列表并将其连同圆括号一起替换为一个对象或集合初始化器等价于指定一个空的参数列表。
在执行一个带有对象或集合初始化器的对象创建表达式时,首先调用实例构造器,然后执行对象或集合初始化器指定的成员或元素初始化。对象或集合初始化器不能引用正在初始化的对象实例。
阅读全文
[易学C#]C#3.0语言新特性之扩展方法
2009-03-09 23:04 by 马伟, 2025 阅读, 1 推荐, 收藏, 编辑
摘要:当我们需要对已有类的功能进行扩展时,我们通常会想到继承,继承已有类,然后为其加入新的行为。而C# 3.0中加入的扩展方法(Extension Methods)特性,则提供了另一种实现功能扩展的方式。
扩展方法是一种特殊的静态方法,它定义在一个静态类中,但可以在其他类的对象上像调用实例方法那样进行调用。因此,通过扩展方法,我们就可以在不修改一个类型的前提下对一个类型进行功能上的扩充,这种方法并不会产生新的类型,而是采用向已有类中加入新方法的方式来完成功能扩展;同时,也可以将一些近似的类型中近似的功能同一实现在一个类中,便于阅读和维护。从最终效果上看,扩展方法使得扩展一个现有类型和构造一个具有附加方法的类型变成了现实。
阅读全文
[易学C#]C#3.0语言新特性之匿名类型
2009-03-08 16:01 by 马伟, 4598 阅读, 1 推荐, 收藏, 编辑
摘要:上面我们向读者讲解了隐式类型,接下来我们继续来讨论C#3.0另一个新特性:匿名类型。 阅读全文
[易学C#]C#3.0语言新特性之隐式类型
2009-03-08 00:11 by 马伟, 1931 阅读, 0 推荐, 收藏, 编辑
摘要:在C#3.0中增加了一个变量声明var,这个声明和JavaScript 的var类似,但也有不同。相同之处是它可以用var来声明任何类型的局部变量;而不同之处在于它仅仅负责告诉编译器,该变量需要根据初始化表达式来推断变量的类型,而且只能是局部变量。 阅读全文
[讨论]程序之路在何方?
2009-03-07 12:04 by 马伟, 2563 阅读, 0 推荐, 收藏, 编辑
摘要:曾经何时,在那个DOS与Windows的年代,汇编与C/C++横行天下,无人可比!与此同时,汇编与C/C++程序员无疑成为新的IT时代的弄潮儿,呼风唤雨。 在这之间,也不怎么的,突然有一天,有一个叫Linus的家伙静悄悄地搞出个Linux来,经过几年的开源的发展,终成气候,誓与Windows争霸天下。当然,因为它的开源性,不知不觉冒出了许多版本的Linux来。这时候Windows/Linux/Un... 阅读全文
删除ORACLE数据库中重复的数据
2008-11-02 18:54 by 马伟, 364 阅读, 0 推荐, 收藏, 编辑
摘要:declare maxrecords constant int:=599; i int :=1; begin for i in 1..maxrecords loop delete from sf_para_jlddidu where JILIANGDIAN in ( select JILIANGDIAN from... 阅读全文
用C#解决Oracle9i和Oracle10g字符集不兼容的问题
2008-07-08 14:59 by 马伟, 848 阅读, 0 推荐, 收藏, 编辑
摘要:前段时间,我应公司派遣去云南给南方电网开发一个电力分析系统。因为我们的系统主要作用是统计计算和数据分析,所以本身并不采集基础数据,基础数据都是从别的第三方系统采集而来。还好的是大部分系统的数据采集都是通过WEB服务的方式,当时只有一家系统要求我们直接从他们的数据库里去读取(呵呵,这在电力部门一般是不被允许的,毕竟数据需要安全吗),大概是人家不愿意写接口吧。本来对于我们来说直接去数据库读... 阅读全文
重拾 DirectX 一:配置Visual Studio 2008+Microsoft DirectX SDK (June 2008) 开发环境
2008-07-04 10:32 by 马伟, 3792 阅读, 0 推荐, 收藏, 编辑
摘要:几年前,我曾经搞了一小段时间DirectX开发,但最后因为工作的原因还是放弃了.直到今天,出于兴趣的原因,我又翻开DirectX的第一页.... 好了,我还是直接进入主题: 首先是安装Microsoft DirectX SDK . 然后选择工具-选项,打开选项框. 最后选展开“项目和解决方案”,选择“VC++目录”,在右边的界面中有一个“显示以下内容的目录”下拉选择框,分别配置其中“包含文件”和“库文件”。 如:"D:\Program Files\Microsoft DirectX SDK (June 2008)\Include"和"D:\Program Files\Microso 阅读全文
Oracle 查询语句截取字符串
2008-07-03 10:12 by 马伟, 2172 阅读, 0 推荐, 收藏, 编辑
摘要:平时我们截取字符串大多数都是在程序里进行,比如用split函数等.由于因为程序的需要和性能,我们更希望选择直接在查询语句里截取. 例如我们现在需要截取电度参数表里描述字段里"*"符号以前的字符串,包括"*": select distinct Substr(描述, 1, Instr(描述, '*', 1)) from 电度参数表 如果不包括"*",如下: select d... 阅读全文
一个C#操作Oracle的通用类
2008-07-01 20:39 by 马伟, 2677 阅读, 0 推荐, 收藏, 编辑
摘要:前段时间,因为开发一个项目需要Oracle10g数据库,所以就快速写了一个Oracle的通用类,希望各位网友参考! 阅读全文