
C#
文章平均质量分 71
peter-wang
这个作者很懒,什么都没留下…
展开
-
数据结构--编程题
编程题1:有N个人围一圈依次报数,数到3的人出列,问当只剩一个人时他原来的位子在哪里?// 转圈踢人游戏(约瑟夫环问题) /* 1、构建数组 */ string[] persons = new string[10]; Random random = new Random();原创 2013-09-26 11:59:36 · 1301 阅读 · 0 评论 -
(六)如何在调用线程的时候传递参数
我们在写Remoting程序或者其他的一些应用程序的时候难免要和线程打交道,.Net使我们很容易就可以创建一个线程,但是它提供的创建线程和启动线程的方法没有明显的提供参数,假如我们要用线程来启动类里面一个带参数的方法该怎么办?下面就简单的介绍如何使用.NET提供的丰富的框架来实现这个功能。为了可以生动详细的介绍整个过程,我建立下面的一个.NET类,它也是要用线程启动的方法的载体。类如下所示:转载 2009-08-03 13:57:00 · 542 阅读 · 0 评论 -
(三)线程--等待句柄
(一).描述 本示例代码实现线程等待等待执行,比如一个线程在执行之前要等待所有其它线程或某个线程 先执行完成,或者等待其它线程至少一个执行完成. (二).代码 using System; using System.Runtime.Remoting.Messaging; using System.Threading; namespace 等待句柄 { // (一).描述 本示例代码实现转载 2009-08-03 13:48:00 · 629 阅读 · 0 评论 -
(一)线程--简述线程概述及原理
线程是程序执行的基本原子单位. 一个进程可以由多个线程组成. 在分布式编程中,正确使用线程能够很好的提高应用程序的性能及运行效率. 实现原理是将一个进程分成多个线程,然后让它们并发异步执行,来提高运行效率. 并发执行并不是同时执行(占有CPU),任意时刻还是只能 线程是程序执行的基本原子单位. 一个进程可以由多个线程组成.在分布式编程中,正确使用线程能够很好转载 2009-08-03 13:42:00 · 875 阅读 · 1 评论 -
(五)线程--管理线程(使线程中止,暂停,挂起等)
(一).描述 此示例演示怎样设置线程的状态(中止,暂停,挂起等) (二).代码 using System; using System.Threading; namespace 管理线程_使线程中止_暂停_挂起等_ { //委托声明(函数签名) delegate string MyMethodDelegate(); class MyClass { public static void Method1转载 2009-08-03 13:56:00 · 859 阅读 · 0 评论 -
(四)线程--使用线程回调方法
(一).描述 此示例演示使用线程回调方法 (二).代码 using System; using System.Threading; using System.Runtime.Remoting.Messaging; namespace 回调 { //委托声明(函数签名) delegate string MyMethodDelegate(); class MyClass { //调用的方法 publi转载 2009-08-03 13:49:00 · 1013 阅读 · 0 评论 -
C#中数字转变成大写的类
票据打印,财务等常用大写数字.很不错,推荐给大家. #region 功能描述:静态成员 数字转变成大写 /// /// 功能描述:数字转变成大写 /// /// 传入数字 /// public string ConvertToCn(string numst转载 2009-07-22 17:40:00 · 951 阅读 · 0 评论 -
C#三种模拟自动登录和提交POST信息的实现方法
网页自动登录(提交Post内容)的用途很多,如验证身份、程序升级、网络投票等,以下是用C#实现的方法。 网页自动登录和提交POST信息的核心就是分析网页的源代码(HTML),在C#中,可以用来提取网页HTML的组件比较多,常用的用WebBrowser、WebClient、HttpWebRequest这三个。以下就分别用这三种方法来实现: 1、WebBrowser是个"迷你"转载 2009-04-03 14:49:00 · 976 阅读 · 0 评论 -
引用Microsoft.Office.Interop.Excel出现的问题
操作背景:c#操作Excel出现问题:在本地添加引用(com):Microsoft Office 11.0 Object Library,出现异常 Excel.Application不是对象.初步诊断:没有安装Excel组件第一步尝试解决:安装Excel等Office组件,进一步测试程序:失败!第二步尝试解决:将Excel.exe生成Interop.Excel.dll,然后用sdk原创 2008-12-22 16:28:00 · 2840 阅读 · 0 评论 -
让哈希表(Hashtable)顺序输出。
System.Collections.Hashtable是用来表示一组组key/value结构的容器,可能别的语言会把它叫做Map,Dictionary的,其结构中Key用来快速查找,所以,叫它Dictionary可能更加合适。 Hashtable的方法、属性并不多,大多数也可以望文生正义,只是有一点,Hashtable提供了hashTable[aKey]的方式引用其包含的对象,却并没有提供数字原创 2009-02-18 17:26:00 · 8494 阅读 · 2 评论 -
VS2003/2005安装打包向导
1:新建安装部署项目打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.2:安装向导关闭后打开安装向导,点击下一步,或者直接点击完成.3:开始制作安装向导完成后即可进入项目文件夹:双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.然后右击你的可执行文件,创建快捷方式,然后把快捷方式转载 2009-01-12 12:16:00 · 1266 阅读 · 0 评论 -
C#必备知识之预编译指令
下面对C#中的预编译指令进行介绍:1.#define和#undef用法:#define DEBUG#undef DEBUG#define告诉编译器,我定义了一个DEBUG的一个符号,他类似一个变量,但是它没有具体的值,可以将它看为一个符号而已。#undef就是删除这个符号的定义。如果符号DEBUG没定义过,则#undef不起作用,否则#define不起作用。二者都必须放在源代码原创 2009-08-06 17:14:00 · 911 阅读 · 0 评论 -
用C# 实现C/S模式下软件自动在线升级
1. 前言 长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序可维护性差,布置困难,升级不方便,维护成本高就是一个相当重要的因素。有很多企业用户就是因为这个原因而放弃使用C/S。然而当一个应用必须要使用C/S结构才能很好的实现其功能的时候,我们该如何解决客户端的部署与自动升级问题?部署很简单,只要点转载 2009-08-11 12:08:00 · 1035 阅读 · 1 评论 -
[推荐]c# Invoke和BeginInvoke 区别 很详细的比较
转自http://www.cnblogs.com/c2303191/articles/826571.htmlControl.Invoke 方法 (Delegate) :在拥有此控件的基础窗口句柄的线程上执行指定的委托。Control.BeginInvoke 方法 (Delegate) :在创建控件的基础句柄所在线程上异步执行指定委托。(一)Control的Invok转载 2013-07-17 16:53:19 · 1541 阅读 · 0 评论 -
软件添加到系统自动启动程序和Winows通知区域
1.将软件添加到系统自动启动程序,即写注册表项"HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run",C#支持对注册表的编辑,.NET框架在Microsoft.Win32名字空间中提供了两个类来操作注册表:Registry和RegistryKey。这两个类都是密封类不允许被继承。RegistryKey类中提供了对原创 2008-08-05 09:29:00 · 1050 阅读 · 0 评论 -
使用(ImageMagick+tesseract-ocr)实现图像验证码识别实例
最近在搞一个无人值守系统时,需要能自动登录,在登录时需要输入验证码,所以研究了验证码识别技术,否则我这个无人值守系统的作用就没有了。目前只测试了字母和数字的识别,准确率还是可以的,呵呵,已经够我自已用了~~,至于中文的识别可以参考我上篇文章:利用开源程序(ImageMagick+tesseract-ocr)实现图像验证码识别。验证码识别率如下图:(准确率还可以吧)好吧,切入正题,赶快上原创 2012-10-09 16:22:05 · 21624 阅读 · 3 评论 -
一个典型的C/S架构的三层架构设计图
典型业务系统的软件架构包括数据库、类库支持层、业务逻辑层、展示层几个部分,简化后就是三层架构,再加上对外部服务的及对外接口的调用形成服务总线。展示层为了区分纯UI与控制逻辑,通过控制层和业务逻辑层进行交互对界面进行输入输出控制。.NET架构遵循此规则。PHP、JSP、ASP.NET的系统三层架构同样如此,在逻辑层次划分如此,不同的只是技术的具体实现架构手段。对于系统架构设计,N转载 2012-09-04 18:03:21 · 18769 阅读 · 0 评论 -
C#使用MySQL Connector/NET
<br />使用MySQL Connector/NET<br />26.2.4.1. 前言<br />26.2.4.2. 使用MySQL Connector/NET连接到MySQL<br />26.2.4.3. 与预处理语句一起使用MySQL Connector/NET<br />26.2.4.4. 用MySQL Connector/NET访问存储程序<br />26.2.4.5. 用Connector/NET处理BLOB数据<br />26.2.4.6. 与Crystal Reports一起使用MySQL转载 2010-11-25 10:46:00 · 7335 阅读 · 1 评论 -
试图运行项目时出错:无法启动调试 没有正确安装调试器
<br />下面是解决方法<br />关于vs2003调试时提示:试图运行项目时出错:无法启动调试 没有正确安装调试器。请运行安装程序安装或修复调试器 <br />提示这个错误的时候,先看看服务【services.msc】里面有没有Machine Debug Manager这个服务。<br />如果没有只需要运行一下:C:/Program Files/Common Files/Microsoft Shared/VS7Debug下面的mdm.exe <br />然后再到服务里面找到 Machine Debu原创 2010-09-06 13:16:00 · 783 阅读 · 0 评论 -
C#3.0(1):使用EventLog类写Windows事件日志
<br />操作系统: Windows XP SP3<br /> <br /> <br /> 在程序中经常需要将指定的信息(包括异常信息和正常处理信息)写到日志中。在C#3.0中可以使用EventLog类将各种信息直接写入Windows日志。EventLog类在System.Diagnostics命名空间中。我们可以在“管理工具” > "事件查看器“中可以查看我们写入的Windows日志,如下图所示:<br /><br /><br /><br /> 下面是一个使用EventLog类向应用程序(A转载 2010-09-01 17:05:00 · 1172 阅读 · 0 评论 -
用VS 2010 Express 免费版开发Web应用程序
<br />下 载 Visual Studio 2010 Express 免费版来开发Web应用程序<br />Visual Studio 提供了一个综合开发环境,可帮助 Web 开发人员构建基于标准的 Web 应用程序和服务。 利用它,用户可以快速开发、测试和部署 Web 解决方案,从而提高了工作效率。<br />Visual Studio 面向 Web 开发人员提供免费版本。 Visual Web Developer Express 可提供一个功能齐全的 Web 开发环境,在其中可以使用 ASP.NET转载 2010-07-13 17:59:00 · 1669 阅读 · 0 评论 -
未来五年程序员应当具备的十项技能
作为一名程序员,如果你想在这个领域内继续向前进步或者在当前的经济形势下保持不被炒鱿鱼,那么你就决不应当自满自足,你需要继续学习。近日,著名 IT评论员Justin James在他的博客中列出了未来五年程序员应当具备的十项技能,如果照此实践,你未来的工作前景一定一片光明。当前的经济形势下,很多程序员将目光聚焦在短期内的工作形式上,但是你仍然要抽出时间和精力学习新的技能。以下是作为程序员应当即刻学转载 2009-09-16 10:43:00 · 901 阅读 · 0 评论 -
如何远程拷贝文件报登录失败: 未知的用户名或错误密码。
我要远程拷贝一个文件,双方是可信任的,目标机器的文件夹是共享的,权限是可读写的 string RestoreFile="D://文件1"; string strDataDir="//" "//" "172.19.32.76" "//" "d$" "//" "WorkSpace" "//" "文件1"; File.Copy(RestoreFile, @"//" strDataDir,true);转载 2009-06-17 09:53:00 · 2773 阅读 · 0 评论 -
主题: ADO.net 中几种数据库连接方式
carper(原作) carper(原作) 在MSDN中,.net的数据库连接字符串都有详细的说明,我这里以代码范例的方式罗列一些,具体的每一项代表的意义可以参看MSDN. ADO.net 中数据库连接方式(微软提供) 微软提供了以下四种数据库连接方式: System.Data.OleDb.OleDbConnection System.Data.SqlClient.SqlConnection S转载 2008-08-22 15:45:00 · 1043 阅读 · 0 评论 -
如何读取csv文件的内容
第一种方式: 先入库后使用我们假设现在有有一个CSV文件Contacts.CSV 文件的内容是联系人信息。首先我们需要在数据库中建一个对应的表TC_Contacts,然后利用下面的SQL代码将CSV文件导入到这个表里面:INSERT INTO TC_Contacts2 3 SELECT * FROM4 OPENROWSET(MSDASQL,5 Driv原创 2008-08-22 15:34:00 · 7079 阅读 · 0 评论 -
使用jmail组件发送电子邮件(C#)
首先,下载jmail组件,可以直接安装;也可以找到jmail.dll,手动注册组件。命令行环境下,到jmail.dll所在目录,运行regsvr32 jmail.dll,C#程序中,行首加上using jmail,如下:(点击btnSend按钮后发送邮件) using jmail; private void btnSend_Click(object sender, System.EventAr原创 2007-09-04 16:43:00 · 937 阅读 · 0 评论 -
对.Net 垃圾回收的C#编程相关方面(Finalize 和Dispose(bool disposing)和 Dispose())的一些理解体会
;Finalize 和Dispose(bool disposing)和 Dispose() 的相同点: 这三者都是为了释放非托管资源服务的.Finalize 和 Dispose() 和Dispose(bool disposing)的不同点: Finalize是CRL提供的一个机制, 它保证如果一个类实现了Finalize方法,那么当该类对象被垃圾回收时,垃圾回收器会转载 2007-06-01 11:06:00 · 991 阅读 · 0 评论 -
Attribute在编程中的应用(1)
#define NOBUG // C#的宏定义必须出现在所有代码之前。当前只让NOBUG宏有效。//#define BUGED //#define WANG//#define XIAusing System;using System.Diagnostics; // 为了使用包含在此名称空间中的ConditionalAttribute特性namespace ConsoleTest{原创 2007-05-31 15:58:00 · 694 阅读 · 0 评论 -
多态性---动态绑定
基类:public class PolymorphicTest ...{ public PolymorphicTest() ...{ //Console.WriteLine("1"); } public virtual void setName(String n) ...{原创 2007-05-30 15:53:00 · 841 阅读 · 0 评论 -
路径,文件,目录,I/O常见操作汇总(二)
摘要: 文件操作是程序中非常基础和重要的内容,而路径、文件、目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供给你一点有益的思路,如果你有好的建议,恳请能够留言,使这些内容更加完善。 主要内容: 一、路径的相关操作, 如判断路径是否合法,路径类型,路径的特定部分,合并路径,系统文件转载 2007-08-16 16:55:00 · 778 阅读 · 0 评论 -
路径,文件,目录,I/O常见操作汇总(一)
摘要: 文件操作是程序中非常基础和重要的内容,而路径、文件、目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供给你一点有益的思路,如果你有好的建议,恳请能够留言,使这些内容更加完善。 主要内容: 一、路径的相关操作, 如判断路径是否合法,路径类型,路径的特定部分,合并路径,系统文件转载 2007-08-16 16:31:00 · 777 阅读 · 1 评论 -
各种数据库连接字符串标准
数据库的连接性已经发展成为应用程序开发的一个标准方面。数据库连接字符串现在已经成为每个项目的标准必备条件。我发现自己为了找到所需要的句法,经常要从另外一个应用程序中复制连接字符串或者进行一次搜索。这个在与SQL Server交互操作时更是如此,因为它有太多的连接字符串选项。 在对象实例化或者建立期间,数据库连接字符串通过属性或方法被传递到必要的对象。连接字符串的格式原创 2007-08-07 16:37:00 · 1163 阅读 · 0 评论 -
邮件发送程序(ASP.NET)
所用类在using System.Web.Mail命名空间下:MailMessage msg = new MailMessage(); //发送方地址 msg.From = "发送方邮件地址"; //接收方地址 msg.To = "接收方邮件地址"; //邮件主题 msg.Subject = "PETER,向您问好!"; //正文内容类型、正文内容编码、正文内容原创 2007-04-22 19:09:00 · 1176 阅读 · 5 评论 -
群发软件开发过程
以前我们公司是有网上的群发软件,每天每次都发有上十万份电子日刊,但是根据用户回应,以及公司内部推测,得到群发软件效果不好,发送成功率很低;又由于公司内部特殊需求,公司决定自己开发。 前些日子,经理让我开发一个群发软件,当时我很软松的接下啦,因为以前研究过类似问题,也做过单发软件邮件功能,用的是微软自带的邮件发送类库(System.Web.Mail)MailMessage、SmtpMail原创 2007-07-21 01:20:00 · 2708 阅读 · 0 评论 -
验证邮箱是否真实存在类(vb.net)
在做群发软件时,为了提高准确率,除了要保实邮箱合法性,发现也可以验证邮箱真实性。在上篇发表的文章中也有邮箱真实性验证功能,但是我测试了一下,好像不准,不能使用;VB。NET类我也测试了一下,发现比较准确,CheckEmail() 返回值小于等于1表示邮箱存在,其它返回值表示邮箱不存在,至少代码表示什么错误,有兴趣的朋友自已研究。。。我比较懒啦 基本原理:从邮件地址分原创 2007-07-21 01:36:00 · 4250 阅读 · 3 评论 -
理解正则表达式(程序员第3期文章)
本文为《程序员》07年3月号《七种武器》专题所做。有兴趣的读者可以到 这里 来投一票,表达您对于程序员基本功的看法。在程序员日常工作中,数据处理占据了相当的比重。而在所有的数据之中,文本又占据了相当的比重。文本能够被人理解,具有良好的透明性,利于系统的开发、测试和维护。然而,易于被人理解的文本数据,机器处理起来就不一定都那么容易。文本数据复杂多变,特定性强,甚至是千奇百怪。因此,文本处理程序转载 2007-09-12 17:40:00 · 775 阅读 · 0 评论 -
生面缩略图通用函数(c#)
做网站有时图片很大,直接引有原图网页下载速度会很慢,这样的图不多还好,或者直接影响网站访问速度;如商品展示类网站就需要生成很多缩略图,以减小图片大小,减少网页下载时间。文件上传,文件下载,生成缩略图等功能,这样的代码都可以模块化或组,供以后使用生成缩略图函数: /**//// /// 生成缩略图 /// /// 源图路径(物理路径)原创 2007-10-24 00:03:00 · 1279 阅读 · 0 评论 -
重构(Refactoring)
1. 前言本来不想写重构,因为VS2005的加了重构功能但目前和Resharper、Eclipse等还是没有可比性。但既然已经有了重构,那么预计VS系列将加强这方面的功能,所以还是先来体验下吧。 2. 什么是重构重构是在编写代码后在不更改代码的外部行为的前提下通过更改代码的内部结构来改进代码的过程。目的是提高其可理解性,降低其修改成本。通俗的说法就是,程序转载 2008-08-03 22:37:00 · 737 阅读 · 0 评论 -
C#反射使用示例诠释
程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性。反射通常具有以下用途: 使用 Assembly 定义和加载程序集,加载在程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。使用 Module原创 2008-07-23 16:43:00 · 906 阅读 · 1 评论 -
C#.NET中关于结构与类之间的区别(很详细,看了才知不后悔)
类与结构的实例比较 类与结构的差别 如何选择结构还是类 一.类与结构的示例比较: 结构示例: publicstructPerson { stringName; intheight; intweight; publicbooloverWeight() { //implementsomething } } 类示例: publicclass转载 2008-07-23 15:17:00 · 543 阅读 · 0 评论