C#
freeboy1015
这个作者很懒,什么都没留下…
展开
-
用c#创建支持多语言的WinForm应用程序
实现多语言的方法可能有使用资源文件,或者配置xml两种方法吧。没时间研究过多,学习了一下使用资源文件的方法,成功了。在.net2.0 中,m$ 为我们提供了一种简单方便的方法, 使用资源文件1.新建一个 Winform 应用程序, 新建一 Form ,名为原创 2011-09-29 16:30:25 · 864 阅读 · 0 评论 -
C++和C#中的回调函数解析
什么是回调?有人这么说:“发布者说,当我遇到什么事的时候,我就通知大家,有需要通知的就把电话号码给我,等那件事发生时,我就打电话通知大家;”。 而在这篇文章中则详细介绍了什么是回调函数以及回调函数的机制:http://shudingbo.spaces.live.com/blog/cns!C33400475B08F157!423.entry 1. 什么是回调函数原创 2012-04-12 21:22:14 · 1275 阅读 · 0 评论 -
《编程之美》2.20 程序理解和时间分析(读别人的程序)
题目: 给出一段C#代码,要求不用电脑,理解程序并回答问题。 解答:下面是从C#代码中改写成的C++代码:#include "stdafx.h"#include#include#include#include#include#include#include#includeusing namespace std;int _tm转载 2012-04-26 09:26:18 · 595 阅读 · 0 评论 -
关于implicit和explicit关键词的用法
关于implicit和explicit关键词的用法explicit 关键字用于声明必须使用强制转换来调用的用户定义的类型转换运算符。// cs_keyword_explicit_temp.csusing System;class Celsius{ public Celsius(float temp) { degrees =转载 2012-04-26 20:15:14 · 754 阅读 · 0 评论 -
OpenCv,EmguCv及.net之间的图像类型转换
OpenCv,EmguCv及.net之间的互动(The Interaction of OpenCv, EmguCv AND .net)作者:王先荣 原文链接:http://www.cnblogs.com/xrwang/archive/2010/01/26/TheInteractionOfOpenCv-EmguCvANDDotNet.html前言 在.net中使转载 2012-04-16 09:33:04 · 7958 阅读 · 0 评论 -
如何利用C#创建和调用DLL (步骤+实例)
如何利用C#创建和调用DLL -------------------------------------------------------------------------------- 一、写在前面 C# 语言是一种简单但功能强大的编程语言,用于编写企业应用程序。 C# 语言从C和 C++语言演化而来,在语句、表达式和运算符方面使用了许多 C+原创 2011-12-29 21:39:22 · 1259 阅读 · 0 评论 -
C#中的IntPtr使用
c#中无法将类型“int”隐式转换为“System.IntPtr”这个是我引用了一个api函数时出现的问题,我在声明中把intptr换成了int还是不可以,这是为什么呢?要如何处理呢? 答:您好,C#中的IntPtr类型称为“平台特定的整数类型”,它们用于本机资源,如窗口句柄。资源的大小取决于使用的硬件和操作系统,但其大小总是足以包含系统的指针(因此也可以包原创 2012-04-17 15:09:53 · 3536 阅读 · 0 评论 -
常用正则表达式
常用正则表达式版本:v0.01 (2011-6-7) 整理:deerchao 转载请注明来源说明:正则表达式通常用于两种任务:1.验证,2.搜索/替换。用于验证时,通常需要在前后分别加上^和$,以匹配整个待验证字符串;搜索/替换时是否加上此限定则根据搜索的要求而定,此外,也有可能要在前后加上\b而不是^和$。此表所列的常用正则表达式,除个别外均未在前后加上任何限定,请根据需要,自行转载 2012-04-18 09:46:44 · 484 阅读 · 0 评论 -
如何让VS编译时自动引用Debug|Release版本的dll
公司一些早期的项目,把所有工程都放到一个解决方案下了,导致整个解决方案编译很慢,而且也不便于类库的复用和维护。因此我们决定把工程按照功能划分到不同的解决方案里头,然后定期发布dll到TFS配置库上固定的TeamProject下面,以后应用程序引用时就不添加工程,而是采用添加dll的方式。但是现在遇到一个问题,发布dll一般会发布Debug和Release两个版本,那么应用程序应该引用哪个版本呢?转载 2012-04-17 19:04:00 · 3705 阅读 · 1 评论 -
《精通正则表达式》书评
《精通正则表达式》书评 作者:孟岩(原文) IT产业新技术日新月异,令人目不暇接,然而在这其中,真正称得上伟大东西的却寥寥无几。1998年,被誉为“软件世界的爱迪生”,发明了 BSD、 TCP/IP、csh、vi 和 NFS 的 SUN 首席科学转载 2012-04-18 10:40:43 · 617 阅读 · 0 评论 -
C#文件读写常用类介绍
首先要熟悉.NET中处理文件和文件夹的操作。File类和Directory类是其中最主要的两个类。了解它们将对后面功能的实现提供很大的便利。 本节先对和文件系统相关的两个.NET类进行简要介绍。 System.IO.File类和System.IO.FileInfo类主要提供有关文件的各种操作,在使用时需要引用System.IO命名空间。下面通过程序实例来介绍其主要属性和方法。原创 2012-04-17 19:12:20 · 605 阅读 · 0 评论 -
正则表达式30分钟入门教程
正则表达式30分钟入门教程版本:v2.32 (2011-8-17) 作者:deerchao 转载请注明来源目录跳过目录本文目标如何使用本教程正则表达式到底是什么东西?入门测试正则表达式元字符字符转义重复字符类分枝条件反义分组后向引用零宽断言负向零宽断言注释贪婪与懒惰处理选项平衡组/递归匹配还有些什么东西没提到联系作者网上的资源及本文参考文献更新纪录本文目标转载 2012-04-18 09:45:34 · 515 阅读 · 0 评论 -
关于多线程并发:每个开发人员都应了解的内容
本文讨论: 多线程和共享内存线程模型争用及并发访问如何能够打破不变量作为争用标准解决方案的锁定何时需要锁定如何使用锁定;理解开销锁定如何能够各行其道 十年前,只有核心系统程序员会担心在多个执行线程的情况下编写正确代码的复杂性。绝大多数程序员编写的是顺序执行程序,可以彻底避免这个问题。但是现在,多处理器计算机正在普及。很快,非多线程程序将处于劣势,因为它们无法利用可用转载 2013-04-11 10:54:52 · 950 阅读 · 0 评论 -
C#中的线程(二) 线程同步基础
C#中的线程(二) 线程同步基础1.同步要领 下面的表格列展了.NET对协调或同步线程动作的可用的工具: 简易阻止方法构成目的Sleep阻止给定的时间周期Join等待另一个线程完成转载 2011-12-16 10:37:57 · 1675 阅读 · 0 评论 -
C#中的线程(一)入门
C#中的线程(一)入门 文章系参考转载,英文原文网址请参考:http://www.albahari.com/threading/作者 Joseph Albahari, 翻译 Swanky Wu 中文翻译作者把原文放在了"google 协作"上面,GFW屏蔽,不能访问和查看,因此我根据译文和英文原版整理转载到园子里面。 本系列文章可以算是一本很出转载 2011-12-16 10:36:18 · 1268 阅读 · 0 评论 -
C#中的线程(三) 使用多线程
第三部分:使用多线程 1. 单元模式和Windows Forms 单元模式线程是一个自动线程安全机制, 非常贴近于COM——Microsoft的遗留下的组件对象模型。尽管.NET最大地放弃摆脱了遗留下的模型,但很多时候它也会突然出现,这是因为有必要与旧的API 进行通信。单元模式线程与Windows Forms最相关,因为大多Windows Forms使用或包转载 2011-12-16 10:39:29 · 1682 阅读 · 0 评论 -
异常处理总结
说在前: 本文描述的异常处理都是个人在以往项目经历中用到的. 如有相同纯属巧合. 不同场合不同的方案有不同优势. 从改过.原文太没废话,我开始吸取教训.希望大家共同交流与学习. 新文章更多资料更详细内容.设计背景: 以.net为设计背景 资料整理: 1.从零开始学习异常.了解与入门转载 2012-04-12 20:50:26 · 523 阅读 · 0 评论 -
C++和C#中的回调函数
什么是回调?有人这么说:“发布者说,当我遇到什么事的时候,我就通知大家,有需要通知的就把电话号码给我,等那件事发生时,我就打电话通知大家;”。 而在这篇文章中则详细介绍了什么是回调函数以及回调函数的机制:http://shudingbo.spaces.live.com/blog/cns!C33400475B08F157!423.entry 1. 什么是回调函数 回调函原创 2012-04-12 21:15:16 · 3223 阅读 · 0 评论 -
关于序列化
1、序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。2、什么情况下需要序列化 a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候转载 2012-04-12 18:23:37 · 476 阅读 · 0 评论 -
C#实现多国语言的界面切换
在PictureStudio中,我需要实现多国语言的界面切换,而且切换各种语言版本的时候希望程序是动态的加载语言,不希望切换语言后重新启动程序。实现这样的功能可以有很愚蠢的方法,比如说你可以在程序中为界面上的所有国家的文字信息,在代码中进行赋值,你可以想像这样的做法是可以转载 2011-10-14 16:21:23 · 27812 阅读 · 9 评论 -
c#读取XML内容实现动态加载菜单
c#读取XML内容实现动态加载菜单这个案例是一个基于VS2005的WinForm菜单控件的例子,功能是从XML中动态加载菜单数据到MenuTrip控件上。这个案例中用到了XML,反射之类的技术。当然实用价值有限,仅供学习参考之用。 首先创建一个WinForm项目,在Form1上放置一个MenuTrip控件,将其命名为MainMenu。 在项目中添加一个XML转载 2011-11-29 18:47:32 · 1853 阅读 · 0 评论 -
解决C#中txt文档导入数据库时,中文显示乱码的问题
解决C#中txt文档导入数据库时,中文显示乱码的问题与前篇文章不同之处用红笔标记using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using S转载 2011-12-06 19:40:12 · 1475 阅读 · 0 评论 -
C# vs C++之三:静态构造函数
在C#中,类的静态构造函数用于在使用类之前进行相关的初始化工作;比如,初始化静态成员或执行特定操作。CLR 在第一次创建该类对象或调用该类静态方法时自动调用静态构造函数。同时,CLR保证静态构造函数的线程安全性(准确地说是,只会调用一次,不存在多线程问题)。下面是MSDN对静态构造函数特点的描述:1.静态构造函数既没有访问修饰符,也没有参数2.在创建第一个实例或引用任何静态成员原创 2011-11-18 14:58:12 · 711 阅读 · 0 评论 -
C# Using与Try..Finally 语句探究
以前看书上说Using实质是编译器生成Try{} Finally{},保证Finally始终执行。一直没太仔细想这个问题。今天写代码,碰到一段程序如下: 1 SqlDataReader Func() 2 { 3 4 using (SqlConnection conn=new SqlConnection()) 5转载 2011-12-16 10:41:48 · 770 阅读 · 0 评论 -
共享内存操作类(C#源码)
VC++的共享内存操作代码实现起来相对比较容易,但是用C#语言来实现,就有一定难度,由于工作需要,把以前VC开发的共享内存代码要用C#实现,别说,还费了不少周折,毕竟C#操作API函数和地址指针不是那么直接,还好,总算完成了,效果还不错。 共享内存操作类: using System;using System.Collections.Generic;转载 2011-12-16 20:02:01 · 826 阅读 · 0 评论 -
举例说明如何在C#中使用C/C++写的DLL
举例说明如何在C#中使用C/C++写的DLL如何在C#中使用C/C++写的DLL。举一个我做过的例子说明:建立VC工程DllDemo,建立的时候选择MFC AppWizard(dll),选择Regular Dll using shared MFC Dll或者MFC Extension Dll。现在可以写一个函数代码,在DllDemo.cpp文件中添加这些代码。也可以使用新的原创 2011-12-29 21:57:52 · 591 阅读 · 0 评论 -
C# 主线程 辅助线程
C# 主线程 辅助线程主线程:就是UI线程;从主线程通过Thread.Start或AsyncDelegate.BeginEnvoke(可带参数、定义回调方法、避免轮询)将进入辅助线程;采用异步的方式调用委托可以在界面重绘时避免工作线程被阻塞;从主线程中调用委托的AsyncDelegate.EndEnvoke方法将进入辅助线程(EndInvoke()是阻塞方法,在回调方法转载 2012-01-04 16:52:32 · 919 阅读 · 0 评论 -
c#类成员(字段、属性、方法、事件)
类成员在C#中,类包含若干个组成成员,这些组成成员包括字段、属性、方法、事件等,这些组成成员能够彼此协调用于对象的深入描述。1.字段“字段”是包含在类中的对象的值,字段使类可以封装数据,字段的存储可以满足类设计中所需要描述。例如上一节中Animal类中的字段color,就是用来描述动物的颜色。当然,Animal的特性不只颜色,可以声明多个字段描述Animal类的对象,示例代码如下所示。原创 2012-04-03 15:24:07 · 2386 阅读 · 0 评论 -
C#中委托和事件处理
事件是对象发送的消息,以发信号通知操作的发生。操作可能是由用户交互(例如鼠标单击)引起的,也可能是由某些其他的程序逻辑触发的。引发(触发)事件的对象叫做事件发送方。捕获事件并对其作出响应的对象叫做事件接收方。在事件通信中,事件发送方类不知道哪个对象或方法将接收到(处理)它引发的事件。所需要的是在源和接收方之间存在一个媒介(或类似指针的机制)。.NET Framework 定义了一个特殊的类原创 2011-12-16 09:46:25 · 656 阅读 · 0 评论 -
C#委托的同步调用、异步调用、异步回调
本文将主要通过“同步调用”、“异步调用”、“异步回调”三个示例来讲解在用委托执行同一个“加法类”的时候的的区别和利弊。 首先,通过代码定义一个委托和下面三个示例将要调用的方法:/*添加的命名空间using System.Threading;using System.Runtime.Remoting.Messaging;*/ public delegate原创 2012-04-03 15:57:27 · 950 阅读 · 0 评论 -
C# 委托 事件
一、在控制台下使用委托和事件我们都知道,C#中有“接口”这个概念,所谓的“接口”就是定义一套标准,然后由实现类来具体实现其中的方法,所以说“接口,是一组类的抽象”。同样道理,我们可以将“委托”理解为“方法的抽象”,也就是说定义一个方法的模板,至于这个方法具体是怎么样的,就由方法自己去实现。我们知道接口的最大好处就是可以实现多态,同理,“委托”是可以实现方法的多态,当我们想调用某个具转载 2012-04-03 15:00:51 · 511 阅读 · 0 评论 -
Debug与Trace的区别
一.首先要明白Debug与Trace的区别: 1. Debug.Write和Trace.Write有什么不同?何时应该使用哪一个?Debug类提供一组帮助调试代码的方法和属性。Trace类提供一组帮助跟踪代码执行的方法和属性,通俗的说就是为在不打断程序的调试或跟踪下,用来记录程序执行的过程。Debug只在debug状态下会输出,Trace在Release下也会输出,在R转载 2012-04-05 20:37:06 · 12533 阅读 · 0 评论 -
俄罗斯方块游戏算法分析
该游戏算法比较简单,主要功夫都在界面体验上了,比如方块图形、用户控制、消去与累计等。图形我们采用GDI+画图方式显示,共8种图形,当然可以根据自己的喜好随意定制。如何表示图形?我们可以借鉴马赛克效果。把所有图形都用3*3矩阵表示,0表示背景色显示,1表示着色显示。比如 {0,0,0}, {0,1,0}, 表示 T型,看出来了吗?每个数字位置其实就是一个正方形转载 2012-04-08 20:11:10 · 17882 阅读 · 0 评论 -
一个C#多线程的工作队列
自己写了一个多线程的工作队列,能够实现对队列中对象的自动处理。多线程添加元素到队列中,队列根据绑定的事件进行自动处理,可以设置WorkSequential属性来实现对队列处理的单线程(严格顺序处理)或者多线程处理(循序出队,但是多线程处理,不保证对队列元素的处理顺利)的选择。/***********多线程的工作队列*************** * 此工作队列保证线程转载 2011-12-16 10:45:54 · 6734 阅读 · 0 评论