代码改变世界

随笔分类 -  C#

C#操作SQL Server中的Image类型数据

2011-12-03 21:29 by Andrew.Wangxu, 614 阅读, 收藏, 编辑
摘要: 该例子是一个对SQL Server数据类型的一个操作例子,具有写入、读取功能。 1:准备数据库 1)创建数据库 Test 2)创建表 Table_1 (分别有2个字段:id(Int)、photo(Image)) 阅读全文

让开发更方便,让搜索更效率!

2011-12-03 21:21 by Andrew.Wangxu, 263 阅读, 收藏, 编辑
摘要: 每天写代码难免要用很多次搜索引擎(百度、谷歌等),昨日找了几个小时的资料,如何用C#开发任务栏中的工具栏,很遗憾,没有找到相关的资料。 如果路过的朋友有方法思路或者例子,希望能发到我Email: Andrew.Wangxu@gmail.com 非常感谢。 我上个使用过程的图吧! 阅读全文

C# UDP 网络聊天程序

2011-12-03 21:17 by Andrew.Wangxu, 1414 阅读, 收藏, 编辑
摘要: 学习了UDP协议的使用以及TCP协议的对比,各有各的优势! 个人理解优势区别如下: 1:UDP协议称为不可靠的传输协议,因为在从发送方到接收方的传递过程中出现的数据丢失,协议本身并不能做出任何检测或者提示。 2:UDP速度比TCP快,因为UDP不需要先与对方建立连接,也不需要连接确认,因此速度要快的多。 理解下使用情景: 并不是说一个程序用UDP就用UDP 用TCP就用TCP,比如说QQ聊天,我们要开视频,语音,发送文件,文字。 其中开视频,语音就可以用UDP协议去做,文字也可以用UDP协议去做。而发送文件就用TCP去做啦,因为发送文件比较大的话 中途数据丢失,造成文件的完整性。。也会导致出问题。。而视频,在线电影这些就无所谓了,丢一点点也是看不出来的。 阅读全文

C# 异步TCP Socket聊天室(1服务器,N客户端)

2011-12-03 21:08 by Andrew.Wangxu, 4778 阅读, 收藏, 编辑
摘要: 该例子是一个异步TCP Socket聊天室! 1个服务器 N个客户端 下载下来后,直接将本机的IP改为192.168.1.224即可直接运行程序,或者自行改下程序源码中指定的IP地址即可 ---------------------------- 该文章是访问突破万次的文章,因为是我前一段时间在CSDN上面发的!现在没用CSDN博客了,因为转阵营到CNBLOGS了~所以原文地址我就不贴出来了。 都是我本人原创的! 希望有不好的地方 提出来,感激不尽~~ 阅读全文

C# 简单封装一个XML文件读取类

2011-12-03 13:28 by Andrew.Wangxu, 1462 阅读, 收藏, 编辑
摘要: 很久没碰XML文件读写了,今天帮朋友写了一个相关的读取XML文件的操作类,封装成dll便于使用。 先说下需求吧: A:在XML文件中有多个集,每个集里面包含多个节点。 B:可根据集的名字的取出这个集合下面的所有节点值 C:可一次性取出所有的节点值 D:其中有一个是无限拓展的就是:表达式 E:把集合读取到一个模型(实体类)当中 先来看下XML文件结构的分析如下(我用红色方块勾出区域划分): 阅读全文

(转)开发人员一定要加入收藏夹的网站(.NET JAVA SQL等)

2011-12-03 13:03 by Andrew.Wangxu, 836 阅读, 收藏, 编辑
摘要: 该文章是转载的,因为是直接拷贝的doc文档过来的,所以没源地址。 http://www.gotapi.com/ 语言:英语 简介:HTML,CSS,XPATH,XSL,JAVASCRIPT等API的查询网站。 http://www.w3schools.com/ 语言:英语 简介:W3C制定的标准诸如XML,HTML,XSL等等的在线学习教程。 阅读全文

C# 索引器的简单例子

2011-12-03 12:46 by Andrew.Wangxu, 397 阅读, 收藏, 编辑
摘要: 这个例子是使用索引器简单模仿一个string数组。 因为索引器本身就比较像数组,下面是关于索引器的概述: 索引器使得对象可按照与数组相似的方法进行索引。 get 访问器返回值。set 访问器分配值。 this 关键字用于定义索引器。 value 关键字用于定义由 set 索引器分配的值。 索引器不必根据整数值进行索引,由您决定如何定义特定的查找机制。 索引器可被重载。 索引器可以有多个形参,例如当访问二维数组时。 阅读全文

C# 让程序带参数运行 如:1.exe -a

2011-12-03 12:17 by Andrew.Wangxu, 635 阅读, 收藏, 编辑
摘要: 这个例子演示的是Winform窗体带参数运行,看明白这个了。 那看命令行的小case~ 建立好了项目文件后,需要修改的地方有两点! 1:修改 Program 类中的Main方法 加上入口点,并且将参数传递到Form1窗体 2:修改 Form1窗体的构造函数,允许传参。 阅读全文

C# 多线程计时器类。

2011-12-03 12:13 by Andrew.Wangxu, 574 阅读, 收藏, 编辑
摘要: 该例子是一个封装的计时器类。 实现功能: (1)传入一个时间 HH:mm:ss 字符串 和 label控件对象 即可实现控件倒计时。 三行代码即可运行,如下图效果: 当然,每个项目需要的需求不同,这里只是抛砖引玉。 阅读全文

C# 为什么使用了多线程界面假死?

2011-12-03 09:17 by Andrew.Wangxu, 1680 阅读, 收藏, 编辑
摘要: 这里贴出两个项目(已经测试)。 试想以上代码,当线程调用后,这个线程就会一直在ThreadStart里面跑 这个方法也未完全执行完成过(既界面不会更新),然而达到假死。 为了界面不假死达到多线程目的。就应该再增加一个方法专门来操作这个ThreadStart方法,让这个方法不停的执行。 下面是正确的代码区别..... 阅读全文

C# 多线程使用progressBar进度条控件

2011-12-03 09:13 by Andrew.Wangxu, 2746 阅读, 收藏, 编辑
摘要: 该例子对为多线程使用progressBar的一个简单例子。 实现: (1)计算progressBar运行时间(既进度条开始到结束的时间) (2)利用多线程运行(用这个应该必须用多线程吧,否则没什么实际意义,因为你有进度条必然是要做其他的事情给予一个进度提示) 阅读全文

C# Application.DoEvents() 处理队列消息,防界面假死。

2011-12-03 09:05 by Andrew.Wangxu, 857 阅读, 收藏, 编辑
摘要: 该方法可以处理当前队列的消息,比如一个for循环 5000次 向TextBox中追加文本,那肯定会假死一会儿的。 此时便可使用Application.DoEvents()来处理队列的信息。 简单说下使用Application.DoEvents() 和 不使用Application.DoEvents() 的区别: 不使用Application.DoEvents(): 循环5000次的话,界面会假死一会儿,然后等待for循环完全结束后然后显示界面。 使用Application.DoEvents(): 那么在for循环中加入这句话,界面消息就会及时的得到更新(既不会假死); 阅读全文

C# socket游戏编程(1服务器,多客户端)

2011-12-03 09:01 by Andrew.Wangxu, 3925 阅读, 收藏, 编辑
摘要: 游戏规则如下: (1)玩家通过 internet 和 坐在同一桌的另外一个玩家对弈,一个玩家选择黑方,另一个玩家选择白方。 (2)游戏开始后,计算机自动在15x15的棋盘方格内,以固定的时间间隔,不停的在未放置棋子的位置随机产生黑色棋子或白色棋子。 (3)玩家的目标是快速单击自动出现在棋盘上的自己所选颜色的棋子,让棋子从棋盘上小时,以避免自己的棋子出现在相邻的位置。 (4)每当棋子从棋盘上小时,具有相应颜色的玩家既得1分。注意,如果玩家单击了对方的棋子,则对方得1分。 (5)如果棋盘上出现两个或者两个以上相邻的同色棋子,游戏就结束了,改颜色对应的玩家就是失败者。 阅读全文

C# Socket聊天程序(一个服务端,多个客户端)

2011-12-02 23:10 by Andrew.Wangxu, 8355 阅读, 收藏, 编辑
摘要: 这是一个多用户聊天的socket程序 文件分别是两部分: 1.服务端 2.客户端 --------------------------------------------------- 使用方法:在一台电脑中挂起一个 服务端程序。 其他电脑即可开启客户端进行相互聊天(所有客户端之间); 在客户端与服务端的‘启动程序’目录下都有一个:ServerIPAndPort.txt 文本用于配置IP地址与端口 如局域网配置(服务端与客户端配置一致):192.168.X.X:8885 既你的本机局域网IP地址 外网配置:服务端配置为192.168.X.X:8885 即可,而客户端需要配置为 服务端的外网IP。 阅读全文

C# 向二进制文件进行读写操作

2011-12-02 23:04 by Andrew.Wangxu, 1769 阅读, 收藏, 编辑
摘要: 在这个例子中,使用BinaryWriter对象的Write方法向文件写入Double类型的变量 aDouble 时,由于参数是Double类型,因此调用Write(Double)的重载形式,向文件流写入一个固定长度为8字节的浮点类型数据。与此对应,读取该数据时,采用ReadDouble()方法从当前流中读取8字节浮点值。 当写入Int32 类型的变量 aInt 时,系统自动调用Write(Int32) 方法,向文件流中写入4 字节有符号整数,读取数据时,调用ReadInt32()方法,从文件流中读取4字节长度的数据。 阅读全文

C# 使用 StreamReader 读取数据

2011-12-02 22:58 by Andrew.Wangxu, 1024 阅读, 收藏, 编辑
摘要: 下面是关于StreadReader的使用例子。 用来读取TXT文本数据... 阅读全文

C# FileStream Write追加写入文本

2011-12-02 22:52 by Andrew.Wangxu, 1460 阅读, 收藏, 编辑
摘要: 该例子为追加 C盘中的 file1.txt 的文本内容 完整代码如下: 引入命名空间: using System.IO; 阅读全文

C# FileStream 按大小分段读取文本内容

2011-12-02 22:49 by Andrew.Wangxu, 721 阅读, 收藏, 编辑
摘要: 该例子首先在C盘根目录创建一个名为’file1.txt‘的文本文件。 然后再运行该例子。。 完整代码如下: 引入命名空间: using System.IO; 阅读全文

C# Socket简单例子(服务器与客户端通信)

2011-12-02 22:45 by Andrew.Wangxu, 3084 阅读, 收藏, 编辑
摘要: 这个例子只是简单实现了如何使用 Socket 类实现面向连接的通信。 注意:此例子的目的只是为了说明用套接字写程序的大概思路,而不是实际项目中的使用程序。在这个例子中,实际上还有很多问题没有解决,如消息边界问题、端口号是否被占用、消息命令的解析问题等。。 下面是两个程序的代码,(两个程序均为控制台程序) 阅读全文

C# 网络数据编码与解码(Encoder and Decoder)

2011-12-02 22:31 by Andrew.Wangxu, 1174 阅读, 收藏, 编辑
摘要: 该例子为在C#中对网络数据编码与解码。 引用《网络应用编程(第二版)》49页的前面的话如下: 在网络通信中,很多情况下通信双方传达的都是字符信息。但是,字符信息并不能直接从网络的一端传递到另一端,这些字符信息首先需要被转换成一个字节序列后才能在网络中传输。将字符序列转换为字节序列的过程称为编码。当这些字节传送到网络的接收方时,接收方需要反过来将字节序列再转换为字符序列,这种过程称为解码。 阅读全文