04 2014 档案
用C#实现C/S模式下软件自动在线升级
摘要:1 前言 长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序可维护性差,布置困难,升级不方便,维护成本高就是一个相当重要的因素。有很多企业用户就是因为这个原因而放弃使用C/S。然而当一个应用必须要使用C/S...
阅读全文
C# 利用反射动态创建对象[摘录]
摘要:摘自:http://hi.baidu.com/yangyuhang/blog/item/f12ea90e13f214e336d12250.html在VS.Net中,有很多种方法动态调用对象的构造函数。一是通过Activator类的CreateInstance()方法。这个方法我们在Remoting中...
阅读全文
C#方法中的ref和out
摘要:ref通常我们向方法中传递的是值.方法获得的是这些值的一个拷贝,然后使用这些拷贝,当方法运行完毕后,这些拷贝将被丢弃,而原来的值不将受到影响.此外我们还有其他向方法传递参数的形式,引用(ref)和输出(out).有时,我们需要改变原来变量中的值,这时,我们可以向方法传递变量的引用,而不是变量的值.引...
阅读全文
浅析C#中new、override、virtual关键字的区别
摘要:OO思想现在已经在软件开发项目中广泛应用,其中最重要的一个特性就是继承,最近偶简单的复习了下在C#中涉及到继承这个特性时,所需要用到的关键字,其中有一些关键点,特地整理出来,方便大家查阅。一、在C#中,new这个关键字使用频率非常高,主要有3个功能:a)作为运算符用来创建一个对象和调用构造函数。b)...
阅读全文
C# ?(问号)的三个用处
摘要:public DateTime? StatusDateTime = null;脑子便也出现个问号,这是什么意思呢?网上搜下,总结如下:1. 可空类型修饰符(?):引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空。例如:string str=null; 是正确的,int i=null...
阅读全文
模仿QQ截图片
摘要:两个picturebox,一个放图片完整代码如下using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System....
阅读全文
C#执行存储过程的简化
摘要:下面的方法是我在实际开发中摸索出来的,可以在很大程度上简化调用存储过程的代码。首先来看一下C#调用存储过程的一般过程:1、打开数据库连接SqlConnection;2、生成一个SqlCommand;3、向命令对象填充参数;4、执行存储过程;5、关闭连接;6、其他操作。我这里讲的主要是简化第3步操作,...
阅读全文
C# 上传RAR文件 解压 获取解压后的文件名称
摘要:此方法适用于C盘windows文件夹中有WinRAR.exe文件if (fileExt.ToUpper() == ".RAR") { string zpath = Server.MapPath("~/SendFile...
阅读全文
代码审查和不良编程习惯
摘要:[英文原文:Code reviews and bad habits]有时候,做为一个程序员,我觉得我的职业生涯会被我开发软件使用的开发工具和技术架构明显的分割成几个阶段。一部分是因为使用的编程语言——在大学时是Smalltalk,在Gog Creek公司是C#和Python,而另一方面是开发工具。我...
阅读全文
.NET 代码注入 CodeInject
摘要:CInject (or CodeInject) 允许直接往托管的代码中注入代码,而无需反编译。可在单个或者多个方法中注入你要执行的代码。使用 CInject 时你无需了解目标应用的细节,你通过注入来轻松对应用功能进行改造.Provides runtime intelligence such asVa...
阅读全文
C#代码审查工具 StyleCop
摘要:SourceAnalysis (StyleCop)的终极目标是让所有人都能写出优雅和一致的代码,因此这些代码具有很高的可读性。SourceAnalysis (StyleCop)不是代码格式化(代码美化)工具,而是代码规范检查工具(Code Review 工具),它不仅仅检查代码格式,而是编码规范,包...
阅读全文
C#中图片切割,图片压缩,缩略图生成的代码
摘要:**//// /// 图片切割函数 /// /// 原始图片文件 /// 在X轴上的切割数量 /// 在Y轴上的切割数量 /// 质量压缩比 /// 输出文件名,不带后缀 /// 成功返回true,失败则返回false public stat...
阅读全文
一个对称加密、解密的方法C#工具类
摘要:using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Security.Cryptography;namespace CMD.EDI{ public class ...
阅读全文
C# 音频操作系统项目总结
摘要:此项目需求是针对.wav格式音频进行操作,转换成相应的.mp3格式的音频文件,对音频进行切割,最后以需求的形式输出,此篇会回顾运用到的一些知识点。1.MDI子窗口的建立:首先一个窗体能够创建多个MDI窗体,应当将IsMDIContainer属性设为true;以下为效果图:控制窗体切换的是一个DotN...
阅读全文
使用WPF来创建 Metro UI
摘要:当我第一次运行Zune时,我为这些美丽的UI所折服。当时就说这肯定不是用WPF做的,因为这些字体是如此的清晰而且UI反映的也非常快速。。而且我从维基百科上也了解到Zune的第一个版本是2006年发布的,而WPF与.NET 3.0却是 2006 年11月发布的。那么问题来了,如果它不是WPF做的,那它...
阅读全文
.Net应用程序打包部署总结
摘要:编译源代码并完成测试以后,开发过程其实并没有结束。在这个极端,需要把应用程序提供给用户。无论是ASP.NET应用程序,客户端应用程序还是 Compact Framework构建的应用程序,开发出来的软件都必须部署到目标环境中。.NET Framework的部署工作比以前容易得多了,因为不再需要注册C...
阅读全文
Debug时检测到Loaderlock的解决办法
摘要:昨天遇到了Loaderlock的问题。出错信息为:检测到LoaderLock,正试图在OS加载程序锁内执行托管代码,不要尝试在DllMain或映像初始化函数内运行托管代码,这样会导致应用程序挂起。解决办法:在"Debug"菜单下----"Exceptions"----"Managed Debuggi...
阅读全文
C#的几种写文件方法
摘要:C#写文件处理操作在很多的开发项目中都会涉及,那么具体的实现方法是什么呢?这里向大家介绍三大方法,希望对你在开发应用中有所启发。首先C#写文件处理操作必须先导入命名空间:using System.IO;C#写文件方式一:用FileStream//实例化一个保存文件对话框 SaveFileDialog...
阅读全文
c# 使用 HttpWebRequest模拟登陆(附带验证码)
摘要:在C#中,可以使用HttpWebRequest进行相关的模拟登陆,登陆后进行相关的操作,比如抓取数据,页面分析,制作相关登陆助手等等。先说下流程1.使用httpwebrequest先进入你要登录的网站,获取cookie2.使用第一步获取的cookie到验证码的网页将验证码下载下来。3.使用Post数...
阅读全文
C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
摘要:一、各种旋转、改变大小注意:先要添加画图相关的using引用。//向右旋转图像90°代码如下:private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e){Graphics g = e.Graphics;...
阅读全文
.NET开发者必备的11款免费工具
摘要:如今,HTML5,jQuery,JavaScript等等这些热门技术,受到了开发者们的强烈追捧,有了这些开发工具也为开发者们减轻了许多负担。本文为开发者介绍了11款.NET框架,这些框架有很多优点,比如提供用户界面,数据访问,数据库连接,Web应用开发,加密,数值算法算法,网络通信,以及一些其它的服...
阅读全文
编写和执行C#代码的插件:CS-Script for Notepad++
摘要:这个插件可以方便得让您在Notepad++编辑器中编辑和执行C#代码(脚本)。它具备通用的C#智能感知和项目任务管理功能,方式非常类似于MS Visual Studio。除了这一点,它提供了通用的调试功能(带集成的托管调试器),以及c#编写脚本的部署包(脚本+引擎或独立可执行文件)的能力。特性Int...
阅读全文
6个用于大数据处理分析的最好工具
摘要:大数据是一个含义广泛的术语,是指数据集,如此庞大而复杂的,他们需要专门设计的硬件和软件工具进行处理。该数据集通常是万亿或 EB 的大小。这些数据集收集自各种各样的来源:传感器、气候信息、公开的信息、如杂志、报纸、文章。大数据产生的其他例子包括购买交易记录、网络日志、病历、 事监控、视频和图像档...
阅读全文
C#反射机制介绍
摘要:反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。 System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码...
阅读全文
在C#中使用属性控制 XML 序列化来解析XML
摘要:今天需要解析一个XML,这个XML和一般情况用.NET的序列化出来的格式不太一样。我就又补习了一下。分享一下学习成果吧。示例代码下载:http://download.csdn.net/detail/bdstjk/4028340使用属性可以控制对象的 XML 序列化。默认情况下,XML 元素名称由类或...
阅读全文
用C#实现软件自动更新思路
摘要:长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序可维护性差,布置困难,升级不方便,维护成本高就是一个相当重要的因素。有很多企业用户就是因为这个原因而放弃使用C/S。然而当一个应用必须要使用C /S结构才能很...
阅读全文
.NET工程师必须掌握的知识点
摘要:Microsoft SQL Server 数据库一、创建和维护数据库1、数据库 SQL Server 数据库的组成部分?(参见联机丛书) 如何保证数据库的完整性、安全性、并发性? 数据库设计创建步骤?(参见联机丛书 - 创建数据库计划) 数据库设计考虑的事项?(参见联机丛书)2、SQL Se...
阅读全文
C#: 实现支持断点续传多线程下载
摘要:/* .Net/C#:实现支持断点续传多线程下载的Http Web客户端工具类(C# DIY HttpWebClient)* Reflector了一下System.Net.WebClient ,改写或增加了若干:* DownLoad、Upload相关方法!* DownLoad相关改动较大!*增加了D...
阅读全文
c#写扩展方法
摘要:学习MVC时,学会了写扩展方法,用起来很方便。01usingSystem;02usingSystem.Collections.Generic;03usingSystem.Linq;04usingSystem.Web;05usingSystem.Web.Mvc;06usingSystem.Text;0...
阅读全文
.Net架构必备工具列表
摘要:N多年前微软官网曾发了.Net下必备的十种工具,N多年过去了,世异时移,很多东西都已经变化了,那个列表也似乎陈旧了。而且,该文也只是对十种工具独立的介绍,显得有些罗列的感觉,是不是每个工具都是同等重要,工具与工具之间是否有联系?等等,阐述得并不明确。这里,我想从另一个角崖,重新归纳一个更新的更实际的...
阅读全文
.Net应用程序打包部署总结
摘要:编译源代码并完成测试以后,开发过程其实并没有结束。在这个极端,需要把应用程序提供给用户。无论是ASP.NET应用程序,客户端应用程序还是 Compact Framework构建的应用程序,开发出来的软件都必须部署到目标环境中。.NET Framework的部署工作比以前容易得多了,因为不再需要注册C...
阅读全文
C#和Java中执行SQL文件脚本的代码(非常有用)
摘要:我们在做程序的时候有事后会涉及到利用sql文件 直接执行,可是在sql文件中有很多注释,我们要一句一句的执行首先必须的得把sql文件解析去除其中的注释,还有把每一句sql语句取出来,然后再利用各个平台中的数据库相关执行它。接下来放代码!java版本的001packagecom.zz;002003im...
阅读全文
C#生成高清缩略图
摘要:01/// 02/// 为图片生成缩略图03/// 04/// 原图片的路径05/// 缩略图宽06/// 缩略图高07/// 08publicSystem.Drawing.Image GetThumbnail(System.Drawing.Image image,intwidth,intheigh...
阅读全文
C#一个FTP操作封装类FTPHelper
摘要:参考了网上一些代码,作了一些调整优化。001usingSystem;002usingSystem.Collections.Generic;003usingSystem.Linq;004usingSystem.Text;005usingSystem.Net;006usingSystem.IO;007008publicclassFTPHelper009{010/// 011/// FTP请求对象012/// 013FtpWebRequest request =null;014/// 015/// FTP响应对象016/// 017FtpWebResponse response =null;018/
阅读全文
C#利用委托跨线程更新UI数据
摘要:在使用C#的过程中,难免会用到多线程,而用多线程之后,线程如何与界面交互则是一个非常头疼的问题。其实不仅仅是界面,一般情况下,我们往往需要获得线程的一些信息来确定线程的状态。比较好的方式是用委托实现,看例子:注:本例利用委托和跨线程访问技术,用界面上的两个label控件实时显示线程的执行次数。网上虽然有很多这方面的文章,但是过于简略,说明很少,刚刚接触这方面的程序员很难理解,故写此文。TestClass类:01classTestClass02{03//声明一个delegate(委托)类型:testDelegate,该类型可以搭载返回值为空,参数只有一个(long型)的方法。04publi...
阅读全文
C#汉字转拼音,可识别多音字,带声调,提供正向、逆向、双向分词算法的小程序
摘要:用C#写了个汉字转拼音的小工具,和网上大部分工具不同,这个通过分词算法,解决了多音字的问题,并且提供声调,可开可关。如题,用"银行 行不行 行家说了算"举例,如果转拼音却不能识别多音字,就惨了。而这个小工具的效果如图:实现了3种分词算法:* 正向最大匹配* 反向最大匹配* 双向最大匹配(这个双向匹配的歧义处理办法,还是本人创新。。。)软件下载:http://pan.baidu.com/s/1mTg3T-----------------分割线---------------------这里,不得不提一下分词算法这个事情。不过都写在这就太长了,还是放到下一篇再谈。--------
阅读全文
C#: 实现支持断点续传多线程下载
摘要:/* .Net/C#:实现支持断点续传多线程下载的Http Web客户端工具类(C# DIY HttpWebClient)* Reflector了一下System.Net.WebClient ,改写或增加了若干:* DownLoad、Upload相关方法!* DownLoad相关改动较大!*增加了DataReceive、ExceptionOccurrs事件!*了解服务器端与客户端交互的HTTP协议参阅:*使文件下载的自定义连接支持FlashGet的断点续传多线程链接下载! JSP/Servlet实现!* http://blog.csdn.net/playyuer/archive/2004/08
阅读全文
提高你开发效率的十五个 Visual Studio 使用技巧
摘要:相信做开发的没有不重视效率的。开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS。能够对一个IDE产生依赖,说明这个IDE确实 有它的独特之处。无容置疑,VS是一个非常强大的IDE,它支持多语言编辑。支持C#,VB,C/C++,HTML......它拥有强大的调试编译功 能。它让我们不用去记住那些安装,环境变量设置,服务器设置,编译的繁琐过程。高度集成化。凡事有利有弊,在敏捷开发盛行的时代,VS是否值得我们使用是 无容置疑的。但是强大的VS也拥有众多的设置,众多的技巧。记住某些小技巧可以让我们更加方便,快捷地使用VS。这是很有必要的。每个人或多或少记住了一 些小技巧。但是不可能全部
阅读全文
C#异常处理及心得
摘要:C sharp中的异常用于处理系统级和应用程序级的错误状态,它是一种结构化、统一的类型安全的处理机制。c#的异常机制非常类似于c++的异常处理机制,但是还是有一些重要的区别:1,在C#中,所有的异常必须由从System.Exception派生的类类型的实例来表示。在C++中,可以使用任何类型的任何值表示异常。2,在C#中,利用finally块可编写在正常执行和异常情况下都将执行的终止代码。在C++中,很难在不重复代码的情况下编写这样的代码。3,C#中,系统级的异常如溢出、被零除和null等都对应地定义了与其匹配的异常类,并且与应用程序级的错误状态处于同等地位。1.1导致异常的原因可以以两种不同
阅读全文
C# 制作Zip压缩包
摘要:压缩包制作也是很多项目中需要用到的功能。比如有大量的文件(假设有10000个)需要上传,1个1个的上传似乎不太靠谱(靠,那得传到什么时候啊?),这时我们可以制作一个压缩包zip,直接传这个文件到服务器端,然后在服务器目录解压,释放里面的文件。这里我们选用ICSharpCode.SharpZipLib这个类库来实现我们的需求。ICSharpCode.SharpZipLib提供了两个压缩算法的实现,分别是BZIP2(压缩时间长,压缩率高)和GZIP(压缩效率高,压缩率低)。先定义一个枚举,用于程序标示是哪个压缩算法。01/// 02/// 压缩枚举03/// 04publicenumZipEnum
阅读全文
检测 USB 设备拨插的 C# 类库:USBClassLibrary
摘要:这是采用C#开发的一个USB库,使您可以管理USB设备的连接和分离事件,探测自己的设备。可以运行在Windows XP和Windows7 64位系统下。01privatevoidUSBPort_USBDeviceAttached(objectsender,02USBClass.USBDeviceEventArgs e)03{04if(!MyUSBDeviceConnected)05{06if(USBClass.GetUSBDevice(MyDeviceVID, MyDevicePID,07refUSBDeviceProperties,false))08{09//My Device is con
阅读全文
C# 实现的异步 Socket 服务器
摘要:介绍我最近需要为一个.net项目准备一个内部线程通信机制. 项目有多个使用ASP.NET,Windows 表单和控制台应用程序的服务器和客户端构成. 考虑到实现的可能性,我下定决心要使用原生的socket,而不是许多.NET中已经提前为我们构建好的组件, 像是所谓的管道, NetTcpClient 还有 Azure 服务总线.这篇文章中的服务器基于System.Net.Sockets类异步方法. 这些允许你支持大量的socket客户端, 而一个客户端的连接是唯一的阻塞机制. 阻塞的时间是可以忽略不记得,所以服务器基本上是在当做一个多线程socket服务器在运作的.背景原生的socket在为你提
阅读全文
javascript制作公式编辑器,函数编辑器和图形绘制
摘要:自己是电子信息方向的,因此总是需要处理大量的电路实验、电路数据和电路仿真处理,每次处理数据时候还需要同样的数据很多遍, 又需要关于电路的频率响应和时域响应情况,所以一直有做一个这样公式编辑器的打算了。 本来想使用VC的,但是想到javascript的eval()函数,就可以省去数据计算的算法了,而且对于用户函数扩展都有帮助。 仔细想想后,作品需要有公式编辑、自定义操作符、自定义函数、系统函数调用、变量更新处理、定时器实现遍历变量处理、图形绘制和保存公式和函数等模块。 这就是最终的界面了前面讲的功能基本都实现了。 我觉的IT领域代码纯粹是属于技术了,只要花时间总是能够做好的,只是这种架构的...
阅读全文
浏览器内部工作原理
摘要:一、介绍 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工作原理,我们将看到,从你在地址栏输入google.com到你看到google主页过程中都发生了什么。 将讨论的浏览器 今天,有五种主流浏览器——IE、Firefox、Safari、Chrome及Opera。 本文将基于一些开源浏览器的例子——Firefox、Chrome及Safari,Safari是部分开源的。 根据W3C(World Wide Web Consortium万维网联盟)的浏览器统计数据,当前(2011年5月),Firefox、Safari及Chrome的市场占有率综合已接近60%。(原文为2009年10...
阅读全文
10 款基于 jQuery 的切换效果插件推荐
摘要:本文整理了 10 款非常好用的 jQuery 切换效果插件,包括平滑切换和重叠动画等,这些插件可以实现不同元素之间的动态切换。1. InnerFade这是一个基于 jQuery 的小插件,可以实现页面内的元素淡入淡出效果。源码/演示2. HighlightFade该插件可以实现高亮、缩放等效果。源码/演示3. Dynamic Page / Replacing Content使用按钮实现网页内容的动态切换。源码/演示4. jqFancyTransitions这是一个易于使用的插件,有多种切换效果来显示图片。源码/演示5. jQuery Cycle Plugin——浏览器效果该插件应用于缩略图..
阅读全文
DIV焦点事件详解 --【focus和tabIndex】
摘要:添加 tabindex='-1' 属性;默认:获取不到焦点事件(blur)1可以获取焦点事件(blur)1具体详解:先看:W3C关于onfocus的部分Theonfocus event occurs when an element receives focus either by the pointing device or by tabbing navigation.This attribute may be used with the following elements: A, AREA, LABEL, INPUT, SELECT, TEXTAREA, and BUTTO
阅读全文
使用jQuery在上传图片之前实现缩略图预览
摘要:使用jQuery在上传图片之前实现缩略图预览jQuery代码01$("#uploadImage").on("change",function(){02// Get a reference to the fileList03varfiles = !!this.files ?this.files : [];0405// If no files were selected, or no FileReader support, return06if(!files.length || !window.FileReader)return;0708// Only pr
阅读全文
10个步骤让你成为高效的Web开发者
摘要:要成为高产、高效的Web开发者,这需要我们做很多工作,来提高我们的工作方式,以及改善我们的劳动成果。 下面是10个提高效率的步骤,虽然不能保证解决你在开发中的所有问题,但至少是非常实用的,可以简化你的Web开发流程,使开发的每一个环节快速、流畅。还可以帮助你节省大量的时间,以便开发更多、更好的项目。 1. 使用Web开发框架 一个良好的Web开发框架,可以帮助你:解决常见的Web开发问题,如标准的Web页面布局、Web表单处理、浏览器兼容性解决等)。测试Web开发的bug、安全和性能。使代码重用更容易,因为有一个统一的API。社区开发的插件和工具,可以进一步增强开发(jQuery有很多非...
阅读全文
CSS3中background属性的调整
摘要:CSS3对于background做了一些修改,最明显的一个就是采用设置多背景,不但添加了4个新属性,并且还对目前的属性进行了调整增强。1、多个背景图片在css3里面,你可以再一个标签元素里应用多个背景图片。代码类似与css2.0版本的写法,但引用图片之间需用“,”逗号隔开。第一个图片是定位在元素最上面的背景,后面的背景图片依次在它下面显示,如下:background-image:url(top-image.jpg),url(middle-image.jpg),url(bottom-image.jpg);2、新属性:BackgroundClip此讨论让我们回到文章开始提到的关于背景被bor...
阅读全文
一步步教你如何在 Visual Studio 2013 上使用 Github
摘要:介绍 我承认越是能将事情变简单的工具我越会更多地使用它。尽管我已经知道了足够的命令来使用Github,但我宁愿它被集成到IDE中。在本教程中,我会告诉你使用Visual Studio 2013如何实现。 首先创建一个任意类型的项目。在我的例子中,我创建了一个新的Windows Phone 8应用。重述一遍,这无关紧要。按如下显示选择“文件”>“添加到源码控制”。 你会看到一个在TFS和Git间选择的选项。选择“Git”并勾选“以后使用它”。 转到github.com并创建一个新仓库,以任意你喜欢的名字命名。我命名为“GitHubVS2013”,剩下的按默认值,最后点击“创建仓库” 进..
阅读全文
为什么你写的Python运行的那么慢呢?
摘要:大约在一年前,也就是2013年在Waza(地名),Alex Gaynor提到了一个很好的话题:为什么用Python、Ruby和Javascript写的程序总是运行的很慢呢?正如他强调的,关键就是现在出现了这个问题。换一句话说,尽管现在这种语言很慢,但不意味着没有解决办法,不意味着未来会一直这样。 当在网上问为什么Python比C语言更慢,回答最多的就是Python中有动态类型。然而,动态类型确实会在性能方面有影响,但是这并不是主要原因。 动态类型(像Python一样的主要编程语言都一样)使得编译器很难优化性能。动态使得每次执行都可能很不同,编译器难以优化。然而,正如Alex在谈话中提到...
阅读全文