
C#
文章平均质量分 88
huang9012
这个作者很懒,什么都没留下…
展开
-
C#调用API
C# APIC:\ProgramFiles\MicrosoftVisual Studio .NET\ FrameworkSDK\Samples\ Technologies\ Interop\PlatformInvoke\ WinAPIs\CS目录下有大量的调用API的例子。一、调用格式using System.Runtime.InteropServices; //引用此名称空间,简化后转载 2013-07-24 16:29:05 · 2265 阅读 · 0 评论 -
C#网络编程(异步传输字符串) - Part.3
C#网络编程(异步传输字符串) - Part.3这篇文章我们将前进一大步,使用异步的方式来对服务端编程,以使它成为一个真正意义上的服务器:可以为多个客户端的多次请求服务。但是开始之前,我们需要解决上一节中遗留的一个问题。消息发送时的问题这个问题就是:客户端分两次向流中写入数据(比如字符串)时,我们主观上将这两次写入视为两次请求;然而服务端有可能将这两次合起来视为一条请求,这转载 2014-03-09 11:11:34 · 843 阅读 · 0 评论 -
C#网络编程(订立协议和发送文件) - Part.4
C#网络编程(订立协议和发送文件) - Part.4文件传输前面两篇文章所使用的范例都是传输字符串,有的时候我们可能会想在服务端和客户端之间传递文件。比如,考虑这样一种情况,假如客户端显示了一个菜单,当我们输入S1、S2或S3(S为Send缩写)时,分别向服务端发送文件Client01.jpg、Client02.jpg、Client03.jpg;当我们输入R1、R2或R3时(R为R转载 2014-03-09 11:12:16 · 1150 阅读 · 0 评论 -
C#简单实现发送手机短信
偶然想起,像编写一个从电脑向手机发送短信的程序,从网上查找到有三种方式:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2)使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备,这个就不考虑了(3)使用中国网建提供的SMS短信平台,但是,用完几条免费的后,就要收费了。首先,我用C#实转载 2014-04-11 11:21:13 · 1552 阅读 · 2 评论 -
C# Dictionary 的几种遍历方法
Dictionarystring, int> list = new Dictionarystring, int>(); list.Add("d", 1); //3.0以上版本 foreach (var item in list) {转载 2014-05-20 15:16:49 · 26686 阅读 · 2 评论 -
C# Dictionary用法总结
C# Dictionary用法总结1、用法1: 常规用 增加键值对之前需要判断是否存在该键,如果已经存在该键而且不判断,将抛出异常。所以这样每次都要进行判断,很麻烦,在备注里使用了一个扩展方法public static void DicSample1(){ Dictionary<String, String>转载 2014-06-09 11:16:40 · 2092 阅读 · 0 评论 -
谈C#中的Delegate
引言 Delegate是Dotnet1.0的时候已经存在的特性了,但由于在实际工作中一直没有机会使用Delegate这个特性,所以一直没有对它作整理。这两天,我再度翻阅了一些关于Delegate的资料,并开始正式整理这个C#中著名的特性。本文将由浅入深的谈一下Delegate这个特性。一.Delegate是什么? Delegate中文翻译为“委托”。Msdn中对Delega转载 2014-08-21 16:38:45 · 773 阅读 · 0 评论 -
C#中的interface没那么简单
最近在园子里闲逛看到一篇文章“(抽象)类和接口细节分析”,尽管作者很细心很细致。可事实上C#里面的interface没那么简单,interface有着大量不为人知的小秘密的说。 1、值类型也能实现接口。尽管可能很多人连值类型都没用过,但值类型可以实现接口,是一个非常有用的特性。当值类型转换为接口类型时,会自动装箱成引用类型从而实现多态,但一般用值类型实现接口的老鸟都不会被这转载 2014-08-22 14:50:05 · 1024 阅读 · 0 评论 -
Java enum 枚举还可以这么用
在大部分编程语言中,枚举类型都会是一种常用而又必不可少的数据类型,Java中当然也不会例外。然而,Java中的Enum枚举类型却有着许多你意想不到的用法,下面让我们一起来看看。1、可以在enum中添加变量和方法先来看一段代码示例:public enum State { Normal("正常态", 1), Update("已更新", 2), Deleted("已删转载 2014-09-07 00:57:41 · 5281 阅读 · 0 评论 -
C#事件与委托,事件与回调的用法区别
事件包括:事件发送者、事件接收者和事件处理程序。关于事件,我们首要知道的是事件的发送者必须知道发送什么类型的事件,以及相关的事件参数。而事件的接收者必须了解其事件的处理方法必须使用的返回类型和参数事件的发送者和事件的接收者都只关注事件而不是对方,这样对象就只需考虑自己,而不用考虑其他对象。例如:足球运动员踢球射门时,产生一个击球事件,但他并不用关心守门员是谁,他只要转载 2014-08-22 11:30:14 · 5779 阅读 · 0 评论 -
Java关于回调的易理解解读
你好,我写了个很简单的代码,你一看就明白了public class A { int value = 1001; public A() {// A的构造函数,执行B的exec()方法,里面又带有对A的getValue()方法调用,这个就叫做回调 B b = new B(this); b.exec(); } public int getValue() { return va转载 2014-09-25 16:41:36 · 771 阅读 · 0 评论 -
【Server】Socket编程原理详解
目录(?)[-]代码原理实验这篇文章将对一个简单的socket例程进行剖析。代码这里提供的例子就是一个简单的TCP client/server程序,client主动连接server,并从服务器中得到一条欢迎消息:“[server] welcome client!”。程序的流程参考如下:参考代码如下:server端:[cpp]转载 2014-11-10 15:01:36 · 832 阅读 · 0 评论 -
关于委托
委托可以实例化啊。首先你的确可以把委托看成一个类,因此委托可以实例化。一般来说委托的整个流程是1、声明对应函数的委托2、将委托实例化3、然后使用这个委托实例但是在现在的.net版本中,微软帮我们省略了委托实例这个步骤,让我们可以直接传递函数名称。举个例子:被委托的函数是static void a(){……}委托为delegate void b();调用委托的函数原创 2014-10-15 11:38:30 · 837 阅读 · 0 评论 -
C#网络编程(基本概念和操作) - Part.1
引言C#网络编程系列文章计划简单地讲述网络编程方面的基础知识,由于本人在这方面功力有限,所以只能提供一些初步的入门知识,希望能对刚开始学习的朋友提供一些帮助。如果想要更加深入的内容,可以参考相关书籍。本文是该系列第一篇,主要讲述了基于套接字(Socket)进行网络编程的基本概念,其中包括TCP协议、套接字、聊天程序的三种开发模式,以及两个基本操作:侦听端口、连接远程服务端;第二篇讲转载 2014-03-09 11:10:30 · 824 阅读 · 0 评论 -
C#网络编程(接收文件) - Part.5
C#网络编程(接收文件) - Part.5这篇文章将完成Part.4中剩余的部分,它们本来是一篇完整的文章,但是因为上一篇比较长,合并起来页数太多,浏览起来可能会比较不方便,我就将它拆为两篇了,本文便是它的后半部分。我们继续进行上一篇没有完成的步骤:客户端接收来自服务端的文件。4.客户端接收文件4.1服务端的实现对于服务端,我们只需要实现上一章遗留的sendFile转载 2014-03-09 11:12:34 · 849 阅读 · 0 评论 -
托管代码和非托管代码的区别
什么是托管代码? 托管代码是一microsoft的中间语言,他主要的作用是在.NET FRAMEWORK的CLR执行代码前去编译源代码,也就是说托管代码充当着翻译的作用,源代码在运行时分为两个阶段: 1.源代码编译为托管代码,(所以源代码可以有很多种,如VB,C#,J#) 2.托管代码编译为microsoft的平台专用语言。转载 2013-07-24 16:29:31 · 738 阅读 · 0 评论 -
c#中怎么让正在播放的视频背景是透明的?
在C#编程的时候,由于一个功能需要播放一小段的AVI格式的短片,结果找了半天也没有搞定如何来进行播放。于是本人在网上查呀查呀!找了半天终于找到了一个方法播放文件。 他的方式是首先用下面的命令为媒体播放器控件:msdxm.ocx 生成 MediaPlayer.dll 和 AxMediaPlayer.dll。命令为:aximp c:\winnt\system32\msdxm.ocx 而通常msd转载 2013-07-25 00:11:19 · 5313 阅读 · 0 评论 -
托管DLL和非托管DLL的区别
首先解释一下,托管DLL和非托管DLL的区别。狭义解释讲,托管DLL就在Dotnet环境生成的DLL文件。非托管DLL不是在Dotnet环境生成的DLL文件。 托管DLL文件,可以在Dotnet环境通过 “添加引用” 的方式,直接把托管DLL文件添加到项目中。然后通过 Using DLL命名空间,来调用相应的DLL对象 。 非托管DLL文件,在Dotnet环境应用时转载 2013-07-25 00:44:49 · 13394 阅读 · 0 评论 -
C# 调用外部程序Process类
C# 调用外部程序Process类在程序开发中,一个程序经常需要去调用其他的程序,C#中Process类正好提供了这样的功能。它提供对本地和远程进程的访问并使您能够启动和停止本地系统进程。一、启动进程实例CodeProcess myProcess = new Process(); try { myProces转载 2013-10-21 13:20:03 · 1340 阅读 · 0 评论 -
.net托管环境下struct实例字段的内存布局(Layout)和大小(Size)
在C/C++中,struct类型中的成员的一旦声明,则实例中成员在内存中的布局(Layout)顺序就定下来了,即与成员声明的顺序相同,并且在默认情况下总是按照结构中占用空间最大的成员进行对齐(Align);当然我们也可以通过设置或编码来设置内存对齐的方式,有关C/C++中(设置)内存对齐的讨论,可以参考我以前写的一篇面试手记《总结面试时没有回答上的设置内存对齐方式问题》。 然而在.net转载 2013-11-08 11:04:33 · 857 阅读 · 0 评论 -
你必须知道的.NET之class和struct
你必须知道的.NET之class和struct 1、引言提起class和struct,我们首先的感觉是语法几乎相同,待遇却天壤之别。历史将接力棒由面向过程编程传到面向对象编程,class和struct也背负着各自的命运前行。在我认为,struct英雄迟暮,class天下独行,最本质的区别是class是引用类型,而struct是值类型,它们在内存中的分配转载 2013-11-08 11:08:15 · 1619 阅读 · 0 评论 -
0x 这样写的意义
0x表示的是16进制数字,我经常设置一些显示输出语句的时候都用原始的0x后面加16进制代码来表示 这样做的主要原因就是不让别人修改显示输出的数据罢了,其实里面很多冬冬你都可以用0x这种代码来表示的原创 2013-11-08 10:58:02 · 1676 阅读 · 0 评论 -
C# Socket 文件传输
如果需要接收多个文件的时候,不能重复调用Socket.Bind(ipep),这样会出现socket异常的,因为socket已经监听了一个端口了,端口不能被重复使用。完整代码:发送端。。client[csharp] view plaincopy private void button2转载 2014-01-14 00:45:47 · 1983 阅读 · 0 评论 -
C# Socket编程笔记
看到这个题目,是不是很眼熟?在博客园里搜下,保证会发现关于这个东东的文章实在是太多了~~~真得是没有写得必要,而且我也有点懒得去琢磨字句。(看到这,肯定得来个转折的了,不然就看不到下文了,不是吗)但是,为了自己下一篇要写的文章做参考,还是有必要先补充一下socket基础知识。 注意:如果你已经接触过socket,那就没什么必要耽误时间看下去了。另外,如果发现其中任何错误,欢迎直接转载 2014-01-13 17:32:40 · 970 阅读 · 0 评论 -
文件流的读取Java和C#的区别
java读取文件或是文件流的代码,涵盖了读取jar文件中的文件流,网络文件流等,有些读取方式为了防止编码转换带来的问题,采取了动态byte[]的方式读取,源码如下 :C# 同样也是一样的,只是API对应的不同而已:C#当中的API是: FileStream fs = new FileStream(Filepath, FileMode.Open);Java当中的API是:File原创 2014-01-13 23:37:08 · 2734 阅读 · 0 评论 -
C# WinForm开发系列 - Socket/WCF/Rometing/Web Services
当今社会是一个信息化社会, 网络越来越多地影响人民的生活, 带来巨大的便利性; 而网络通信在软件开发中占据相当大的比重. Socket/WCF/Rometing/Web Services 各种技术纷至踏来, 应用广泛; 而作为C#开发人员, 微软的.Net FrameWork为我们在这方面做了良好的封装, 很便于我们开发各种网络应用类型程序. Socket/P2P/FTP端转载 2014-02-27 23:29:41 · 1709 阅读 · 0 评论 -
C#网络编程(同步传输字符串) - Part.2
C#网络编程(同步传输字符串) - Part.2服务端客户端通信在与服务端的连接建立以后,我们就可以通过此连接来发送和接收数据。端口与端口之间以流(Stream)的形式传输数据,因为几乎任何对象都可以保存到流中,所以实际上可以在客户端与服务端之间传输任何类型的数据。对客户端来说,往流中写入数据,即为向服务器传送数据;从流中读取数据,即为从服务端接收数据。对服务端来说,往流中写入数据转载 2014-03-09 11:11:07 · 775 阅读 · 0 评论 -
C#泛型在unity3D中的运用.
泛型是什么?这是摘自百度百科中对泛型的介绍:?泛型是c#2.0的一个新增加的特性,它为使用c#语言编写面向对象程序增加了极大的效力和灵活性。不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换,所以性能得到提高。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设,所以泛型提高了程序的类型安全。它允许程原创 2015-01-09 16:10:43 · 4857 阅读 · 0 评论