
C#语言学习
文章平均质量分 78
tongdoudpj
本人喜欢编程,闲时狂热钓鱼。
展开
-
C#的6种常用集合类大比拼
一.先来说说数组的不足(也可以说集合与数组的区别):1.数组是固定大小的,不能伸缩。虽然System.Array.Resize这个泛型方法可以重置数组大小,但是该方法是重新创建新设置大小的数组,用的是旧数组的元素初始化。随后以前的数组就废弃!而集合却是可变长的2.数组要声明元素的类型,集合类的元素类型却是object.3.数组可读可写不能声明只读数组。集合类可以提供ReadOnly方法转载 2007-07-03 19:04:00 · 584 阅读 · 0 评论 -
LINQ 的演变及其对 C# 设计的影响
本文以 Visual Studio 的预发布版(代号为“Orcas”)为基础。文中包含的所有信息均有变更可能。本文讨论: C# 与 LINQ LINQ 的演变 从代转载 2007-07-18 08:07:00 · 545 阅读 · 0 评论 -
关于C#中timer类
关于C#中timer类 在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Timers.Timer类里 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控转载 2007-07-23 14:30:00 · 862 阅读 · 0 评论 -
C# 2.0 杂项技术,以及C#语言的未来发展(选择自 shoutor 的 Blog )
属性访问器保护级别的变化C# 2.0 允许我们对一个属性的get和set访问器使用不同的访问级别修饰符:class Customer{ private string name; ... public string Name { get{return this.name;} internal set(this.name=value;} } ...}转载 2007-07-19 13:10:00 · 543 阅读 · 0 评论 -
不要忽略c#中的using和as操作符
是不是很多人不用c#中的using和as操作符?甚至不知道? 其实这2个操作符在小处非常有用。 1、using 按照msdn的解释 using 语句定义一个范围,在此范围的末尾将处理对象。 举例: class TestUsing:IDisposable { public void Dispose() {转载 2007-07-19 13:14:00 · 539 阅读 · 0 评论 -
雅虎公司的c#面试题(面试题只有此部分属于C#面试题)
Question 31. (单选)根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?public void test(int i) { lock(this) { if (i>10) { i--; test(i); } } }1. 会锁死2. 不会锁死Question 32. (单选)以下描述错误的是()1. 在C++中支持抽象类而在C#中不支持抽象类。2. C++转载 2007-07-19 13:23:00 · 1022 阅读 · 0 评论 -
C#面试题基础
传入某个属性的set方法的隐含参数的名称是什么?value,它的类型和属性所声名的类型相同。 如何在C#中实现继承?在类名后加上一个冒号,再加上基类的名称。 C#支持多重继承么?类之间不支持,接口之间支持。类对接口叫做实现,不叫继承。 被protected修饰的属性/方法在何处可以访问?在继承或间接继承与这个类的子类中可以访问。 私有成员转载 2007-07-19 13:33:00 · 708 阅读 · 0 评论 -
LINQ的经典例子-Where,Select、SelectMany、SkipWhile子句中使用数组索引
Where 子句的用法我们除了可以如下方式书写带Where子句的LINQ外: from p in products where p.UnitsInStock > 0 && p.UnitPrice > 3.00M select p;还可以对数组(所有实现了IEnumerable接口的对象都可以)的实体使用 Where 扩展方法。 把一个查询语句写成多个扩展函数的方式,这其实是编译转载 2007-07-26 08:59:00 · 968 阅读 · 0 评论 -
C#中的delegate和event
在基于Windows平台的程序设计中,事件(event)是一个很重要的概念。因为在几乎所有的Windows应用程序中,都会涉及大量的异步调用,比如响应点击按钮、处理Windows系统消息等,这些异步调用都需要通过事件的方式来完成。即使在下一代开发平台——.NET中也不例外。那么什么是事件呢?所谓事件,就是由某个对象发出的消息,这个消息标志着某个特定的行为发生了,或者某个特定的条件成立了。比转载 2007-07-26 10:16:00 · 593 阅读 · 0 评论 -
Attribute在.net编程中的应用(一)
Attribute的基本概念经常有朋友问,Attribute是什么?它有什么用?好像没有这个东东程序也能运行。实际上在.Net中,Attribute是一个非常重要的组成部分,为了帮助大家理解和掌握Attribute,以及它的使用方法,特地收集了几个Attribute使用的例子,提供给大家参考。在具体的演示之前,我想先大致介绍一下Attribute。我们知道在类的成员中有property成员转载 2007-07-27 21:56:00 · 553 阅读 · 0 评论 -
C#中的特性(Attributes)(翻译)
翻译不是为了翻译,是为了学习!因为只有翻译我才能逐句的看完整篇文章。当然还可以得到各位达人的斧正,让我由懂得皮毛到渐入佳境!乐哉,幸哉!原文 约定: 1.”attribute”和”attributes”均不翻译 2.”property”译为“属性” 3.msdn中的原句不翻译 4.”program entity”译为”语言元素”A转载 2007-07-27 21:50:00 · 666 阅读 · 0 评论 -
C#多线程应用技术面对面探讨
实例程序说明 本文的实例程序包括一个列表框、三个按钮。程序使用一个新的线程来运行一个后台处理,结果在列表框中显示。按钮button1启动一个计算平方的线程。按钮button2停止后台处理线程。按钮button3退出程序。程序运行情况如图1所示。 使用线程 首先创建运行在新线程上的后台任务。表1所示的代码执行一个相当长的运行处理----一个无限循环。 表1、后台处理程序 priva转载 2007-07-31 12:07:00 · 590 阅读 · 0 评论 -
.NET2.0隐形的翅膀,正则表达式搜魂者
本文实现了:只能输入1个数字只能输入n个数字只能输入至少n个数字只能输入m到n个数字只能输入数字只能输入某个区间数字只能输入0和非0打头的数字只能输入实数只能输入n位小数的正实数只能输入m-n位小数的正实数只能输入非0的正整数只能输入非0的负整数只能输入n个字符只能输入英文字符只能输入大写英文字符只能输入小写英文字符只能输入英文字符+数字只能输入英文字符/数字/下划线密码举例验证首字母大写验证网址转载 2007-07-26 10:02:00 · 934 阅读 · 0 评论 -
[你必须知道的.NET] 第三回:历史纠葛:特性和属性
本文将介绍以下内容: • 定制特性的基本概念和用法• 属性与特性的区别比较• 反射的简单介绍1. 引言attribute是.NET框架引入的有一技术亮点,因此我们有必要花点时间来了解本文的内容,走进一个发现attribute登堂入室的入口。因为.NET Framework中使用了大量的定制特性来完成代码约定,[Serializable]、[Flags]、[DllImport]、转载 2007-07-27 22:15:00 · 655 阅读 · 0 评论 -
[你必须知道的.NET] 第一回:恩怨情仇:is和as
本文将介绍以下内容: • 类型转换• is/as操作符小议 1. 引言 类型安全是.NET设计之初重点考虑的内容之一,对于程序设计者来说,完全把握系统数据的类型安全,经常是力不从心的问题。现在,这一切已经在微软大牛们的设计框架中为你解决了。在.NET中,一切类型都必须集成自System.Object类型,因此我们可以很容易的获得对象的准确类型,方法是:GetType()方法。那么.NE转载 2007-07-27 22:24:00 · 648 阅读 · 0 评论 -
在C#中实现存储图片到SQLServer2005
在论坛中碰到有朋友问到如和把图片存到数据库中,自己用VS2005+SQLServer2005实现了这个功能.上面是主界面上面是显示界面数据库为Picture,数据表为Picture,表结构设计如下所示:PictureID int 4, PictureContent Image, PictureText nvarchar(50)下面是主界原创 2007-07-31 20:16:00 · 3474 阅读 · 0 评论 -
Excel操作类C#版
//引入Excel的COM组件using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControl转载 2007-07-31 22:54:00 · 1002 阅读 · 0 评论 -
用c#实现类似QQ的简单通讯程序
本文介绍了用c#实现的一个类似QQ的局域网通讯程序,当点击最小化程序跑到系统托盘里,双击托盘可以可以显示主页面。 程序运行界面如下: 托盘里的菜单如下: c#作为微软.Net战略的重要棋子,对网络编程提供了很好的支持和优化。实现起来特别方便,还是看代码吧,已经注释的很清楚了。代码如下:using System;using System.Drawing;using System.Collect转载 2007-08-07 15:01:00 · 1727 阅读 · 0 评论 -
C#基础概念二十五问
注:本文部份资料来自网络,如有侵权,请与我联系,我会在第一时间声明引用或将其删除! 当初学 C# 时是找个人大概问了一下数据类型和分支语句就开始做项目了。这两天又全面的看了一下相关的基础知识(学而时习之嘛),总结了25个问题:1.静态成员和非静态成员的区别?2.const 和 static readonly 区别?3.extern 是什么意思?4.abstract 是什么意思?5.i转载 2007-08-09 17:54:00 · 554 阅读 · 0 评论 -
在C#中实现软件自动升级
winform程序相对web程序而言,功能更强大,编程更方便,但软件更新却相当麻烦,要到客户端一台一台地升级,本文结合实际情况,通过软件实现自动升级,弥补了这一缺陷,有较好的参考价值。由于程序在运行时不能用新的版本覆盖自己,因此,我们将登录窗口单独做成一个可执行文件,用户登录时,从网上检测是否有新的主程序,如果有,则从后台下载并覆盖老的版本,用户输入正确的用户名和密码后,通过参数将必要的信息(转载 2007-08-09 17:58:00 · 3080 阅读 · 0 评论 -
C#调用非托管DLL的APIs
上网baidu一下或google一下这个东东就有很多人在问这个问题,最近我也用到了这个,所以就留下来以备往后需要是可以查找。在调用非托管DLL的APIs前,我们应该好好掌握一下DllImportAttribute,MSDN给出的定义为:可将该属性应用于方法。DllImportAttribute 属性提供对从非托管 DLL 导出的函数进行调用所必需的信息。作为最低要求,必须提供包含入口点的 DLL转载 2007-08-13 12:16:00 · 871 阅读 · 1 评论 -
An Outlook Bar Implementation
Download source files - 33 Kb Table Of Contents Introduction Minimum Requirements Requirements: What I Need Requirements: What I Dont Need The Prototype Design The GUI Components The转载 2007-08-09 17:32:00 · 1234 阅读 · 0 评论 -
OutlookBar: A Simplified Outlook Style Sidebar Control
Download source files C#- 24 Kb Download source files VB - 24.6 Kb (thanks to Dave for the conversion) Download demo project - 14 Kb IntroductionIm currently working on a pe转载 2007-08-09 17:39:00 · 1858 阅读 · 0 评论 -
利用using和try-finally来释放资源
我以前写过一篇文章,关于.Net资源释放问题,也就是对于非内存的资源,最好使用IDisposable接口提供的Dispose来释放,详情参看这篇文章。http://blog.youkuaiyun.com/knight94/archive/2006/08/05/1023352.aspx 很明显,Dispose方法是一个外部方法,系统并不会帮你调用。为了尽早释放对象所占用的资源,所以需要保证转载 2007-08-08 18:00:00 · 1738 阅读 · 0 评论 -
C#下用P2P技术实现点对点聊天
P2P,英文Peer-to-Peer的缩写,中译为对等互联或点对点技术。P2P技术可以让用户可以直接连接到其他用户的计算机,进行文件共享与交换,同时P2P在深度搜索、分布计算、协同工作等方面也大有用途。 简单地说,P2P就是一种用于不同PC用户之间,不经过中继设备直接交换数据或服务的技术,它允许Internet用户直接使用对方的文件。每个人可以直接连接到其他用户的计算机,并进行文件的交转载 2007-08-14 21:27:00 · 1009 阅读 · 0 评论 -
C# 命令行编译器详解
摘要:本文分析了使用 C# 命令行编译器 csc.exe 生成应用程序的过程。同时,还将向读者介绍很多为 C# 2.0 独有的编译器选项,例如,extended/reference 标志和强名称支持。阅读完本文的内容之后,您将能够轻松地在没有向导的环境中生成单文件程序集和多文件程序集。适用于:Microsoft Visual C# 2.0注 本文假定您熟悉 C# 编程语言和 .NET转载 2007-08-15 20:19:00 · 2034 阅读 · 0 评论 -
在C#程序中使用系统热键
1.首先引入System.Runtime.InteropServicesusing System.Runtime.InteropServices; 2.在类内部声明两个API函数,它们的位置和类的成员变量等同.[System.Runtime.InteropServices.DllImport("user32.dll")] //申明API函数 public static extern bool Re转载 2007-08-17 22:25:00 · 749 阅读 · 0 评论 -
用c#获取ip
摘要想必大家对小榕时光等扫描器都非常熟悉了,有没有自己写一个的冲动。最近微软推实施了.NET战略方案,C#是主推语言,你们是否有兴趣用C#来实现对局域网IP地址的扫描,尝试一下自己写的快乐,那么请跟我来。--------------------------------------------------------------------------------目录1.使用的类2.获取本地主机IP转载 2007-08-20 09:59:00 · 6817 阅读 · 1 评论 -
C#多线程参数传递
我们在写Remoting程序或者其他的一些应用程序的时候难免要和线程打交道,.Net使我们很容易就可以创建一个线程,但是它提供的创建线程和启动线程的方法没有明显的提供参数,假如我们要用线程来启动类里面一个带参数的方法该怎么办?下面就简单的介绍如何使用.NET提供的丰富的框架来实现这个功能。为了可以生动详细的介绍整个过程,我建立下面的一个.NET类,它也是要用线程启动的方法的载体。类如下所示:u转载 2007-08-17 22:51:00 · 689 阅读 · 0 评论 -
C#版的端口扫描器(PortScanner)
上网很久的朋友一定对端口扫描器不会陌生吧。XScanner,SuperScanner大家一定都使用过。今天我们就用最新的.Net技术来制作一个自己的端口扫描器,无垠出品!今天主要使用到的是System.Net和System.Threading名称空间.1 2using System; 3using System.Collections.Generic; 4using System.Tex转载 2007-08-22 19:32:00 · 1425 阅读 · 0 评论 -
Visual C#2005中使用正则表达式
正则表达式(regular expression)是用来快速、高效地处理文本数据的工具。被处理的文本可以小到一个电子邮件地址,也可以大到一个多行文本输入框中的文本数据。正则表达式不仅可用来确认一段文本是否与一个预定义的模式相匹配,还可以用于从文本中抽取符合某一模式的数据。 正则表达式可以被看成是一个强大的通配符(通用匹配符号)。大多数人都应该很熟悉通配符,例如,当我们看到一个诸如“SAMS转载 2007-08-22 20:03:00 · 659 阅读 · 0 评论 -
C#的多线程能力
线程是允许进行并行计算的一个抽象概念:在另一个线程完成计算任务的同时,一个线程可以对图像进行更新,二个线程可以同时处理同一个进程发出的二个网络请求。我们在这篇文章中将重点讨论Java和C#在线程方面的不同之处,并将一些Java中线程的常用模式转换为C#。 从概念上讲,线程提供了一种在一个软件中并行执行代码的方式━━每个线程都“同时”在一个共享的内存空间中执行指令,(当然是在一个处理器转载 2007-08-29 20:52:00 · 640 阅读 · 0 评论 -
ASP.NET跨页面传值技巧总结
关于页面传值的方法,引发了很多讨论。看来有很多人关注这个,我就我个人观点做了些总结,希望对大家有所帮助。 1. 使用QueryString变量 QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子转载 2007-08-26 22:41:00 · 692 阅读 · 0 评论 -
在C#中定义和使用自己的特性
原文:http://www.code-magazine.com/Article.aspx?quickid=0307041作者:David Tansey翻译:today 复杂的,面向组件的业务开发,期待现代的软件开发工程师们具备更多的弹性设计,而不是过去的方法设计。微软的.NET框架通过众所周知的声明式编程,广泛的使用特性来附加额外的功能。在软件系统里,特性可以增强系统的弹性,这是因为,特性使功能转载 2007-08-28 20:31:00 · 913 阅读 · 0 评论 -
理解C#中的ref关键字
最近有人问到 ref 关键字的正确用法,下面我们来举例说明。其实要更好的理解 ref 关键字,结合 C++ 代码更加容易一些。另外在开始我们的例子之前,需要提前说明几点: C# 中的数据有两种类型:引用类型(reference types)和值类型(value types)。 简单类型(包括int, long, double等)和结构(structs)都是值类型,而其他的类都是引用类型。转载 2007-08-29 21:09:00 · 777 阅读 · 0 评论 -
利用HttpModule做流量记录 画蛇添足最后一笔
《利用HttpModule做流量记录》和《利用HttpModule做流量记录 补充》除了得到大家的建议外也饱受非议。在这里要谢谢 kiler 、zoti、武眉博、大石头、古巴、yoshow、ekinwt、Jeffrey Zhao、slightboy的建议,感谢一下Colin Han、北极熊,我来了!、nasa、雪溯馨风的支持。利用HttpModule做流量记录的方案已经提出来了,而且也已经决定转载 2007-08-30 20:43:00 · 947 阅读 · 0 评论 -
C#高级编程之“代码属性”
主要通过一个示例来解释这个概念。 这个示例主要用来当方法中出现异常后,能显示编写该 方法的作者信息,以便修改。 代码如下:using System;using System.Collections.Generic;using System.Text;using System.Reflection ; namespace AttributeTest{转载 2007-06-01 10:52:00 · 751 阅读 · 0 评论 -
.net中using的几种用途 (平时不容易注意到)
转自张继东朋友的Blog,http://www.cnblogs.com/zhangjidong/=========================================================================================今天一个朋友问我using有几种用途,我的第一反应就是茴香豆的4种写法,第2反应是肯定又是个面试题。先前就是到usin转载 2007-06-01 11:03:00 · 1128 阅读 · 0 评论 -
深入浅出话委托
深入浅出话委托 (转自优快云 刘铁猛)小序 好久不来更新Blog了,一是因为工作比较忙,最重要的还是交了女朋友:),太爱她了。回顾了一下前面写的文章,看来大家还是很喜欢我的灌水风格,那今天就来写一写最近被问到的最多的问题——委托与事件。并把本文献给支持我工作的兄弟姐妹们和我亲爱的女友(虽然你看不懂代码,嘻嘻)。说实话,论“深入”,就我这臭水平绝对深不到哪儿去,我尽量给大家讲明白就是转载 2007-09-01 19:36:00 · 612 阅读 · 0 评论 -
net 下安装、调试的常见问题与错误及解决方法
Q:新建项目时出错:Visual Studio .NET 已检测到指定Web服务器运行的不是ASP.NET 1.1版。您将无法运行ASP.NET Web应用程序或服务。A: 对于这个错误有很多可能的原因,您可以参考下面几篇KB和文章的解决方案:“prb: "The specified Web server is not running ASP.NET version 1.1" error me转载 2007-09-01 20:09:00 · 1308 阅读 · 0 评论