2011年4月20日

C#中"is" vs "as"

摘要: 在数据类型转换中,C#相对其它语言来说是比较严格的,要求显式进行数据转化。 为了操作方便,C#也提供了一种is操作符进行转换,十分方便,它自动检查时局是否和类型兼容,并返回结果。而且它不会抛出异常。如果对象引用为null,则is总返回false。if(cls1isClass2){Class2cls2=(Class2)cls1;}elseSystem.Console.WriteLine("Error2!"); 平时自己也多用这种方式来做类型转化的,但今天看了个文章,对比了另外一种方式,as操作符进行转换,才知道as比is可以稍微地提高性能的。Class2cls2=cls1as 阅读全文

posted @ 2011-04-20 17:29 seoxs 阅读(248) 评论(0) 推荐(0) 编辑

C#中实现VB中的CreateObject方法.

摘要: 经常看到有些VB的例子中直接用个CreateObject就可调用系统功能(大多是COM对象),像用户设定,网络设定等等。虽然C#中可以通过使用VB的命名空间的方法来调用CreateObject函数,但是这样比较没什么用,因为生成的对象的所带有的方法都不能使用。C#中还可以直接用添加引用的方式来调用一些对象,前提是你知道该添加哪个引用。 当我上网搜索,已经搜索到很多VB的成功用CreateObject调用的例子,C#的例子却很难找到的时候,就干脆用类似VB的方法算了,很简单。免得继续在网络中大海捞针了。C#中类似 CreateObject的方法就是 System.Activator.Create 阅读全文

posted @ 2011-04-20 17:27 seoxs 阅读(526) 评论(0) 推荐(0) 编辑

利用MSCOMM控件通过串口MODEN实现来电显示-c# source code

摘要: 利用MSCOMM控件通过串口MODEN实现来电显示-c# source code注:此代码都已调试通过处理方式 MSComm控件提供了两种处理通信的方式:一种为事件驱动方式,该方式相当于一般程序设计中的中断方式。当串口发生事件或错误时,MSComm控件会产生OnComm事件,用户程序可以捕获该事件进行相应处理。本文的两个例子均采用该方式。另一种为查询方式,在用户程序中设计定时或不定时查询MSComm控件的某些属性是否发生变化,从而确定相应处理。在程序空闲时间较多时可以采用该方式。 常用属性和方法 利用MSComm控件实现计算机通信的关键是理解并正确设置MSComm控件众多属性和方法。以下是MS 阅读全文

posted @ 2011-04-20 14:29 seoxs 阅读(614) 评论(0) 推荐(0) 编辑

阿里软件接口开发基础(淘宝网)附代码下载

摘要: 主要开发文件见:http://wiki.isv.alisoft.com/index.php?tracelog=doc_from_home当前JAVA例子比较多,C#比较少,下面提供本人开发一些例子:向服务器发送请求类:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->publicstaticXmlDocumentHttpRequest(stringdata){//ASCIIEncodingencoding=newASCIIEncoding(); 阅读全文

posted @ 2011-04-20 14:27 seoxs 阅读(562) 评论(0) 推荐(0) 编辑

C#知识点之集合

摘要: 在C#当中,集合有我们常用的Arraylist(动态数组),Hashtable(关健字和值的查找表)和不常用的BitArray(位数组),Queue(先进先出的集合),SortedList(有序例表),Stack(后进先出的栈)等等。其实集合就是将一组有序的数据组合在一起并能对其进行有效的处理。在这里我们主要介绍常用的Arraylist与Hashtable。Arraylist类似于一维动态数组,在Arraylist中可以存放任何对像,Arraylist的常用方法有以下三种:增加元素Add(),插入元素Insert(),删除元素Remove()。例:首先要引入命名空间:using System. 阅读全文

posted @ 2011-04-20 14:25 seoxs 阅读(340) 评论(0) 推荐(0) 编辑

隐含类型局部变量

摘要: 一.隐含类型局部变量简介 在C#3.0中增加了很多新的语言特性,如果有一个局部变量被声明为var,这个声明被视为隐含类型局部变量声明,然后由编译器根据局部变量初始化表达式来推断变量的类型。如下面的声明: var integer = 10; var name = "Terry Lee"; var numbers = new int[] { 1, 2, 3 }; var在这里是仅仅是一个关键字,它并不是C#3.0中的一种新的类型,而是负责告诉编译器,该变量需要根据初始化表达式来推断变量的类型,上面的语句相当于: int integer = 10; string name = & 阅读全文

posted @ 2011-04-20 09:13 seoxs 阅读(277) 评论(0) 推荐(0) 编辑

C#中利用Socket实现网络语音通信[初级版本]

摘要: 现在时下的VOIP软件很多,比较有名的就是Skype,还有其它诸如UUcall、快门等等。它们提供的功能除了网络上的语音通话外,还可以与固定电话、手机等通话。在本篇中主要介绍利用C#实现语音通信的基本方法。但是目前只实现了网络上语音传输的基本功能,而且比较粗糙,没有采用什么算法来优化,所以大家千万不要期望过高。我写这篇的目的除了记录自己的经历之外,更希望有高手能给出改进的意见或算法。 开发平台:.NET Framework 2.0 ,VS 2005,Windows XP,DirectX SDK(June 2008)下载页面。 开发语言:C#。 测试环境:Windows XP 、.net fra 阅读全文

posted @ 2011-04-20 09:11 seoxs 阅读(2550) 评论(0) 推荐(2) 编辑

【C#2.0】发挥匿名委托的威力!

摘要: 这几天研究了一下Linq,C# 3.0中的“扩展方法”特性为IEnumerable<T>增加了诸如Where、Select等查询方法,这使得“语言集成查询”成为顺其自然的事情。而C#3.0中Linq的实现也是建立在C#2.0的匿名委托的特性之上。今天,我尝试在C#2.0中使用匿名委托模拟C#3.0中Where、Select等查询方法的实现。我将所有的查询方法作为静态方法在GenericHepler静态类中实现。之前,我们先定义泛型委托:publicdelegateTResultFunc<T,TResult>(Tsource);这个委托在后面的实现中需要用到。作为基础,首 阅读全文

posted @ 2011-04-20 09:08 seoxs 阅读(380) 评论(0) 推荐(0) 编辑

导航