Welcome 微信登录

首页 / 软件开发 / C#

c#(Socket)同步套接字代码示例

c#(Socket)同步套接字代码示例

c#(Socket)同步套接字代码示例2010-12-25同步客户端套接字示例下面的示例程序创建一个连接到服务器的客户端。该客户端是用同步套接字生成的,因此挂起客户端应用程序的执行,直到服务器返回响应为止。该应用程序将字符串发送到服务器,然后在控制台显示该服务器返回的字符串。C#using system;using system.Net;using system.Net.Sockets;using system.Text;public class Sync...
C#处理数码相片之马赛克的实现

C#处理数码相片之马赛克的实现

C#处理数码相片之马赛克的实现2010-12-25很多图片处理的算法从原理上讲其实非常简单,难点往往在如何去写算法实现它,更加难的就是如何去优化实现的算法。虽说我一向认为程序员的效率比程序的效率更重要,但为了等处理一张自己拍摄的数码照片,溜出去买杯奶茶顺便再买张彩票回来发现还没算好,无论如何都是不能忍受的。马赛克算法很简单,说白了就是把一张图片分割成若干个val * val像素的小区块(可能在边缘有零星的小块,但不影响整体算法),每个小区块的颜色都是相同的...
C#中的抽象类

C#中的抽象类

C#中的抽象类2010-12-251、声明一个抽象方法使用abstract关键字。2、一个类中可以包含一个或多个抽象方法。3、抽象类中可以存在非抽象的方法。4、抽象类不能被直接被实例化。5、实现抽象类用“:”(冒号),实现抽象方法用override关键字。6、抽象类可以被抽象类所继承,结果仍是抽象类。7、抽象方法被实现后,不能更改修饰符。DEMO:public abstract class Person { public a...
C#将文件保存到数据库中或者从数据库中读取文件

C#将文件保存到数据库中或者从数据库中读取文件

C#将文件保存到数据库中或者从数据库中读取文件2010-12-28在中我们常常会遇到“将文件保存到数据库中”这样一个问题,虽然这已不是什么高难度的问题,但对于一些刚刚开始编程的朋友来说可能是有一点困难。其实,方法非常的简单,只是可能由于这些朋友刚刚开始编程不久,一时没有找到方法而已。下面介绍一下使用C#来完成此项任务。首先,介绍一下保存文件到数据库中。将文件保存到数据库中,实际上是将文件转换成二进制流后,将二进制流保存到数据库相应的...
C#设计模式之抽象工厂模式新解

C#设计模式之抽象工厂模式新解

C#设计模式之抽象工厂模式新解2010-12-28概述在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。意图提供一个创建一系列相关或相互依赖对象的接口,而无需指...
C#设计模式之Command设计模式(命令设计模式)

C#设计模式之Command设计模式(命令设计模式)

C#设计模式之Command设计模式(命令设计模式)2010-12-28一、命令(Command)模式命令(Command)模式属于对象的行为模式【GOF95】。命令模式又称为行动(Action)模式或交易(Transaction)模式。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委...
C#设计模式之Observer设计模式(观察者设计模式)

C#设计模式之Observer设计模式(观察者设计模式)

C#设计模式之Observer设计模式(观察者设计模式)2010-12-28一、观察者(Observer)模式观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己...
C#设计模式之Template Method设计模式(模版方法模式)

C#设计模式之Template Method设计模式(模版方法模式)

C#设计模式之Template Method设计模式(模版方法模式)2010-12-28一、模板方法(Template Method)模式准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模版方法模式的用意。很多人可能没有想到,模版方法模式实际上是所有模式中最为常见的几个模式之一,而且很多人可能使用过模版方法模式而没有意...
C#设计模式之Visitor设计模式(访问者设计模式)

C#设计模式之Visitor设计模式(访问者设计模式)

C#设计模式之Visitor设计模式(访问者设计模式)2010-12-28一、访问者(Visitor)模式访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。问题提出System.Collection命名空间下提供了大量集合操作对象。但大多数情况下处理的都是同类对象的聚集。换言之,在聚集上采取的操作都是一些针对同类型对象的同类操作。但是如果针对一个保存有不同类型对象的聚集采取某种操作该...
C#设计模式之合成设计模式(Composite)

C#设计模式之合成设计模式(Composite)

C#设计模式之合成设计模式(Composite)2010-12-28一、合成(Composite)模式合成模式有时又叫做部分-整体模式(Part-Whole)。合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。从和尚的故事谈起这是小时候我奶奶讲的故事:从前有个山,山里有个庙,庙里有个老和尚在给小和尚讲故事,讲的什么故事呢?从前有个山,山里有个庙……。奶奶的故事要循环多少...
C#设计模式之代理设计模式(Proxy)

C#设计模式之代理设计模式(Proxy)

C#设计模式之代理设计模式(Proxy)2010-12-28代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。代理模式的英文叫做Proxy或Surrogate,中文都可译成"代理"。所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。二、代理的种类如果按照使用目的来划分,代理有以下几种:...
C#设计模式之建造者设计模式(Builder)

C#设计模式之建造者设计模式(Builder)

C#设计模式之建造者设计模式(Builder)2010-12-28一、建造者(Builder)模式建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。对象性质的建造有些情况下,一个对象会有一些重要的性质,在它们没有恰当的值之前,对象不能作为一个完整的产品使用。比如,一个电子邮件有发件人地址、收件人地址、主题、内容、附录等部分,而在最起码的收件人地址未被赋值之前,这个电子邮件不能发出。有些情况下...
C#设计模式之门面设计模式(Facade)

C#设计模式之门面设计模式(Facade)

C#设计模式之门面设计模式(Facade)2010-12-28一、门面(Facade)模式外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。医院的例子用一个例子进行说明,如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号、门诊、划价、化验、收费、取药等。看病的病人要与这些部门打交道,就如同一个子系统的客户端与一个子系统的各个类打交道一样,不是一件容易的事情。首先病人必须先挂号,然后门诊。如果医生要求化验,病人...
C#设计模式之桥梁设计模式(Bridge)

C#设计模式之桥梁设计模式(Bridge)

C#设计模式之桥梁设计模式(Bridge)2010-12-28一、桥梁(Bridge)模式桥梁模式是一个非常有用的模式,也是比较复杂的一个模式。熟悉这个模式对于理解面向对象的设计原则,包括"开-闭"原则(OCP)以及组合/聚合复用原则(CARP)都很有帮助。理解好这两个原则,有助于形成正确的设计思想和培养良好的设计风格。注:《Java与模式》一书认为Bridge模式不是一个使用频率很高的模式,我不太赞同,我认为Bridge模式中蕴涵了很...
C#的DataView用法

C#的DataView用法

C#的DataView用法2010-12-28在实际编程工程中,常常遇到这样的情况:DataTable并不是数据库中的,或者DataTable尚未写到数据库,或者从中读出的DataTable已经在本地被改动,又没有写回数据库(可能还要作其他改动),在这些情况下,要查询DataTable中的数据,强大的SQL语言就派不上用场了。有些.NET程序员采取在数据库中建立临时表等方法来解决这类查询问题。而我觉得这种方法不可行,其实只要用.NET类库中提供的DataV...
C# Enum设计和使用的相关技巧

C# Enum设计和使用的相关技巧

C# Enum设计和使用的相关技巧2010-12-28Enum的运算通常涉及到位运算(AND、OR、XOR),按位运算, 常使用FlagsAttribute 自定义属性定义。FlagsAttribute 和 Enum 的准则:只有要对数值执行按位运算(AND、OR、XOR)时才对枚举使用 FlagsAttribute 自定义属性。用 2 的幂(即 1、2、4、8 等)定义枚举常量。这意味着组合的枚举常量中的各个标志都不重叠。请考虑为常用标志组合创建一个枚举...
c# GDI+简单绘图(一)

c# GDI+简单绘图(一)

c# GDI+简单绘图(一)2010-12-28最近对GDI+这个东西接触的比较多,也做了些简单的实例,比如绘图板,仿QQ截图等.最早接触这个类,是因为想做仿QQ截图的效果.巧的很,学会了如何做截图后,.NET课堂上老师也正巧要讲关于c#绘图方面的知识,并且我自己又在网上学习金老师的培训班,也是要用到这个类.在学习中有一些体会,所以准备把这些体会记下来,因为内容比较多,可能我会分几次写.废话不多说了,我们先来认识一下这个GDI+,看看它到底长什么样.GDI...
<< 51 52 53 54 55 56 57 58 59 60 >>