
C#
helmsgao
这个作者很懒,什么都没留下…
展开
-
Math类常用方法
名称说明 Abs已重载。 返回指定数字的绝对值。 Acos返回余弦值为指定数字的角度。 Asin返回正弦值为指定数字的角度。 Atan返回正切值为指定数字的角度。 Atan2返回正切值为两个指定数字的商的角度。 BigMul生成两个 32 位数字的完整乘积。原创 2012-11-27 13:30:19 · 812 阅读 · 0 评论 -
C#thie和base(二)
new关键字引起了大家的不少关注,尤其感谢Anders Liu的补充,让我感觉博客园赋予的交流平台真的无所不在。所以,我们就有必要继续这个话题,把我认为最值得关注的关键字开展下去,本文的重点是访问关键字(Access Keywords):base和this。虽然访问关键字不是很难理解的话题,我们还是有可以深入讨论的地方来理清思路。还是老办法,我的问题先列出来,您是否做好了准备。 • 是否转载 2012-11-28 23:05:55 · 718 阅读 · 0 评论 -
ADO.NET的SQLConnection
SQL SERVER数据库的两种连接模式•1、混合模式连接•使用此种连接模式必须输入登录名和登陆口令。•例如:•string myconnection = "server=(local);database=news;uid=sa;pwd=123456";•SqlConnection conn = new SqlConnection(myconnection);原创 2012-12-03 21:00:27 · 943 阅读 · 0 评论 -
C#怎么调用dll
结构体[ StructLayout( )]数组 [ MarshalAs( )] 函数[ DllImport( )] 那typedef HANDLE XXXX;和int WINAPI CLIENTDLL_Init();和typedef void (__cdecl *SessionEventCallBack)(char *csEvent, LPVOID原创 2012-12-04 18:26:13 · 683 阅读 · 0 评论 -
c#编译 --csc命令的简单应用
首先要安装好.NET Framwork SDK环境,一般安装了vs.net工具的 都已经可以了,我们这里使用vs2005:在图中 可以看到我们进入vs2005的命令行窗体首先,我们用文本文件建一个.cs的文件 其实这个扩展名是可以自己定的,另不用.cs也是可以的,建一个文件命名为:SimpleProgram.cs 输入下面的代码using System;publiccl转载 2012-12-06 17:14:46 · 849 阅读 · 0 评论 -
.net Application.DoEvents()
.net Application.DoEvents() 如果一个窗体的某个操作涉及到了大数据量的处理,则窗体会出现假死,未响应的状态。这是因为其他事件都在等待。如果使用了Application.DoEvents()就可以实时的响应事件,防止出现假死状态。但是Application.DoEvents()的使用影响事件的效率, 原文:http://www.cnblogs.com/datong/arch原创 2012-12-11 08:51:00 · 1264 阅读 · 0 评论 -
C#中引用类型和值类型分别有哪些
C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型。C#的引用类型包括:数组,用户定义的类、接口、委托,object,字符串。数组的元素,不管是引用类型还是值类型,都存储在托管堆上。引用类型在栈中存储一个引用,其实际的存储位置位于托管堆。为了方便,本文简称引用类型部署在托管推上。值类型总是分配在它声明的地方:作为字段时,跟随其所属的变原创 2012-12-11 16:19:27 · 965 阅读 · 0 评论 -
IEnumerable和IEnumerator的理解
在现实应用中,对于集合以及枚举这些集合的需求非常普遍, 因此在.NET中集合所依赖的接口被设计为公共的。想要实现对象的枚举就必须继承IEnumerable接口。public interface IEnumerable{ public IEnumerator GetEnumerator();}它只有一个成员:GetEnumerator方法。该方法返回一个世纪的枚举器(e转载 2012-12-12 12:06:44 · 1048 阅读 · 0 评论 -
C#中引用类型和值类型分别有哪些
C#的值类型包括:结构体(数值类型,bool型,用户定义的结构体),枚举,可空类型。C#的引用类型包括:数组,用户定义的类、接口、委托,object,字符串。数组的元素,不管是引用类型还是值类型,都存储在托管堆上。引用类型在栈中存储一个引用,其实际的存储位置位于托管堆。为了方便,本文简称引用类型部署在托管推上。值类型总是分配在它声明的地方:作为字段时,跟随其所属的变原创 2012-12-12 12:07:43 · 724 阅读 · 0 评论 -
VS2010 C#调用C++ DLL文件
背景 在项目过程中,有时候你需要调用非C#编写的DLL文件,尤其在使用一些第三方通讯组件的时候,通过C#来开发应用软件时,就需要利用DllImport特性进行方法调用。本篇文章将引导你快速理解这个调用的过程。步骤1. 创建一个CSharpInvokeCPP的解决方案:2. 创建一个C++的动态库项目:3. 在应用程序设置中,选择“DLL”,其他按照默认选项转载 2012-12-12 12:10:18 · 2092 阅读 · 1 评论 -
MarshalAs
public struct _mystruct{ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 32)]public Single[] temp;}1. MarshalAs属性 指示如何在托管代码和非托管代码之间封送数据。(在托管堆和本地堆之间。)当 MarshalAsAttribute.Value 设置为 B原创 2012-12-12 12:19:13 · 2931 阅读 · 0 评论 -
Visual C#(VS2008)制作DLL文件
一、制作.dll1.首先创建一个新类库工程文件 文件->新建->项目->Visual C#->类库。填入工程文件名称,并且选择文件要存放的目录。 2.工程文件 将Class1.cs改名自己要创建的文件名:Operate.cs,并填入代码。 3.生成DLL文件 生成->生成myDll.dll,最后会在工程文件的bin\debug目录里看到myDll.dll,文件扩展名是转载 2012-12-12 12:08:34 · 1356 阅读 · 2 评论 -
C#中上下文Context的理解
上下文指的是 进程间占有的资源空间。当一个进程时间片到了或者资缺的时候就会让出cpu 当另一个进程开始始用CPU之前,系统要保存即将退出进程的执行状态,以便轮到时间片或有资源的时候现场恢复.这就所谓的上下文切换.安全上下文,调用上下文,同步上下文其实本质都一样.进程切换. Csdn中对exitContext的解释是如果在等待之前退出上下文的同步域(如果在同步上下文原创 2012-12-14 08:51:00 · 8076 阅读 · 1 评论 -
C# BackgroundWorker的使用
BackgroundWorker 可以用于启动后台线程。主要的事件及参数: 1.DoWork——当执行BackgroundWorker.RunWorkerAsync方法时会触发该事件,并且传递DoWorkEventArgs参数; 2.RunWorkerCompleted——异步操作完成或中途终止会触发该事件。如果需要提前终止执行后台操作,可以调用BackgroundWorker转载 2012-12-14 08:52:36 · 1114 阅读 · 0 评论 -
C# base和this(一)
base base 关键字用于从派生类中访问基类的成员: 调用基类上已被其他方法重写的方法。 指定创建派生类实例时应调用的基类构造函数。 基类访问只能在构造函数、实例方法或实例属性访问器中进行。 示例: 在派生类中调用基类方法。 // base 关键字 // 访问基类成员 using System; public class BaseClas转载 2012-11-28 23:03:49 · 702 阅读 · 0 评论 -
C# --try catch finally
catch 和 finally 一起使用的常见方式是:在 try 块中获取并使用资源,在catch 块中处理异常情况,并在finally 块中释放资源。finally 块用于清除 try 块中分配的任何资源,以及运行任何即使在发生异常时也必须执行的代码。控制总是传递给 finally 块,与 try 块的退出方式无关。 复制// try_catch_finally.cs原创 2012-11-29 09:39:41 · 1022 阅读 · 0 评论 -
线程间操作无效: 从不是创建控件“”的线程访问它。
线程间操作无效: 从不是创建控件“”的线程访问它。听说2003里边不会,我不知道是不是这样的,反正一直都在用05~05里会出这个问题的,貌似是为了安全~哦,现在知道的解决方法有两个~第一:Control.CheckForIllegalCrossThreadCalls = false;线程开始的时候加这么一句,OK,看不到错误了~啥都能用了~转载 2012-11-27 22:51:15 · 890 阅读 · 0 评论 -
C#里边的控件缩写大全
标准控件1 btn Button 2 chk CheckBox 3 ckl CheckedListBox 4 cmb ComboBox 5 dtp DateTimePicker 6 lbl Label 7 llb LinkLabel 8 lst ListBox 9 lvw ListView 10 mtx MaskedTextBox 11 cdr Mont原创 2012-11-27 22:53:16 · 1016 阅读 · 0 评论 -
C#抽象类和接口的区别
一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类转载 2012-11-27 22:50:07 · 615 阅读 · 0 评论 -
委托和接口的使用时机
委托和接口都允许类设计器分离类型声明和实现。任何类或结构都能继承和实现给定的接口。可以为任何类上的方法创建委托,前提是该方法符合委托的方法签名。接口引用或委托可由不了解实现该接口或委托方法的类的对象使用。既然存在这些相似性,那么类设计器何时应使用委托,何时又该使用接口呢?在以下情况下,请使用委托:当使用事件设计模式时。当封装静态方法可取时。当调用方不需要访问实现该方原创 2012-11-27 22:54:42 · 684 阅读 · 0 评论 -
C#中的数组
C#数组有很多值得学习的地方,这里我们主要介绍C#交错数组,包括介绍一维数组例、二维数组例、C#交错数组等方面。 数组是在我们编程当中经常用到的,想来大家对数组都有一定的概念,这部分内容将给大家详细讲解数组在C#中是如何来定义及使用的。 定义:数组是具有同一类型的一组值,数组是引用类型的,因此存在内存堆中。数组中的元素值可以在定义数组时赋予,也可以在定义数组后对单个元素进行赋值。转载 2012-11-28 09:19:45 · 721 阅读 · 0 评论 -
C#编程的好习惯
●1. 避免将多个类放在一个文件里面。 ●2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。 ●3. 一个文件最好不要超过500行的代码(不包括机器产生的代码)。 ●4. 一个方法的代码长度最好不要超过25行。 ●5. 避免方法中有超过5个参数的情况。使用结构来传递多个参数。 ●6. 每行代码不要超过80个字符。转载 2012-11-27 22:43:03 · 650 阅读 · 0 评论 -
C#有关Split 方法有6个重载函数
String.Split 方法有6个重载函数: 程序代码1) public string[] Split(params char[] separator)2) public string[] Split(char[] separator, int count)3) public string[] Split(char[] separator, StringSplitOpti原创 2012-11-27 22:43:53 · 1131 阅读 · 0 评论 -
C# 委托和事件
原文地址:http://www.codeproject.com/csharp/events.asp源代码下载:/Files/edgar-sun/events_src.zip演示文件下载:/Files/edgar-sun/events_demo.zip作者:Maysam Mahfouzi 原文发布日期:2003/8/16原文更新日期:2005/5/14 介绍转载 2012-11-27 22:47:37 · 722 阅读 · 0 评论 -
C#装箱(Boxing)和拆箱(Unboxing)
知识点 值类型。值类型是在栈中分配内存,在声明时初始化才能使用,不能为null。 值类型超出作用范围系统自动释放内存。 主要由两类组成:结构,枚举(enum),结构分为以下几类:整型(Sbyte、Byte、Char、Short、Ushort、Int、Uint、Long、Ulong)浮点型(Float、Double) decimal bool 用户定义的结构(struct转载 2012-11-28 09:40:02 · 1414 阅读 · 0 评论 -
提高C#编程的50个要点
http://www.csharpwin.com/questionlist.aspx?ChID=4(有用的网站C#)1.总是用属性 (Property) 来代替可访问的数据成员2.在 readonly 和 const 之间,优先使用 readonly3.在 as 和 强制类型转换之间,优先使用 as 操作符4.使用条件属性 (Conditional Attributes) 来代替原创 2012-11-27 22:44:39 · 1134 阅读 · 2 评论 -
C#中的+号有两种含义
C#中的+号有两种含义1. 表示加法运算符:在加法符号的两边都是数值类型的时候,进行加法运算2. 表示连接字符功能:在加法符号的两边都是字符类型的时候,进行字符链接。另外需要注意的是C#中的+号可以把整型和字符型进行连接!string name = "张三"; Console.WriteLine("你好," + name);原创 2012-11-28 13:01:41 · 3129 阅读 · 0 评论 -
使用C#格式化字符串 ~
1 前言 如果你熟悉Microsoft Foundation Classes(MFC)的CString,Windows Template Library(WTL)的CString或者Standard Template Library(STL)的字符串类,那么你对String.Format方法肯定很熟悉。在C#中也经常使用这个方法来格式化字符串,比如下面这样:int x转载 2012-11-27 22:40:31 · 668 阅读 · 0 评论 -
C#中checked 关键字
checked 关键字用于对整型算术运算和转换显式启用溢出检查。默认情况下,如果表达式仅包含常数值,且产生的值在目标类型范围之外,则它会导致编译器错误。 如果表达式包含一个或多个非常数值,则编译器不检测溢出。 在下面的示例中,计算赋给 i2 的表达式不会导致编译器错误。 C#复制// The following example ca转载 2012-11-29 09:01:18 · 5685 阅读 · 0 评论 -
C#异步调用和线程的同步
多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(上)http://dongguojun.iteye.com/blog/960584多线程:C#线程同步lock,Monitor,Mutex,同步事件和等待句柄(中)http://dongguojun.iteye.com/blog/960586多线程:C#线程同步lock,Monitor,Mutex原创 2012-12-14 16:03:10 · 923 阅读 · 0 评论