12 2014 档案
摘要:修饰模式(Decorator结构型)C#简单例子玩家基本功能是移动、运行等等。BaseAbility新增加功能:1、伤害技能harmAbility;2、阻碍技能BaulkAbility;3、辅助技能assistAbility玩家1增加伤害技能 Decorator harm = new HarmAbi...
阅读全文
摘要:首先看下面的代码:?1234567891011121314151617using System;namespace Test{public class Base{public void Print(){Console.WriteLine(Operate(8, 4));}protected virtu...
阅读全文
摘要:桥接模式(bridge结构模式)c#简单例子在前面的玩家中每增加一个行为,就必须在每个玩家中都增加,通过桥接模式将行为提取出来了,减少变化?12345678910111213141516171819202122232425262728293031323334353637383940414243444...
阅读全文
摘要:这段时间由于公司的项目的要求,我利用c#的反射的机制做了一个客户端框架。客户端里的所有的模块都是以一定形式进行提供,例如:FORM,UserControl. 在做的过程中很简单与愉快。具体的过程如下:1:收集客户的需求2:整理需求,形成必要的文档3:通过讨论大体的得到程序的界面风格4:由UI设计师设...
阅读全文
摘要:try中的程序块是有可能发生错误的程序块,catch中的程序块是当发生错误的时候才会执行的代码块,finally中的程序块是无论是否发生错误都会执行的代码块。示例程序:?1234567891011121314151617181920212223242526272829using System;usi...
阅读全文
摘要:微信服务器在5秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。这样的话,问题就来了。有这样一个场景:当用户关注微信账号时,获取当前用户信息,然后将信息写到数据库中。类似于pc端网站的注册。可能由于这个关注事件中,我们需要处理的业务逻辑比较复杂。如送积分啊,写用户日志啊,分配用户组啊。等等…...
阅读全文
摘要:当想到所有文件都转换为 XML时,确实是一件好事。但是,这并非事实。仍旧还有大量的文件格式不是XML,甚至也不是ASCII。二进制文件仍然在网络中传播,储存在磁盘上,在应用程序之间传递。相比之下,在处理这些问题方面,它们比文本文件显得更有效率些。在 C 和 C++ 中,读取二进制文件还是很容易的。除...
阅读全文
摘要:介绍平常在多线程开发中,总避免不了线程同步。本篇就对net多线程中的锁系统做个简单描述。目录一:lock、Monitor 1:基础。 2: 作用域。 3:字符串锁。 4:monitor使用二:mutex三:Semaphore四:总结一:lock、Monitor1:基础Lock是Monitor...
阅读全文
摘要:如果是C++,我们可以计算对象内成员的位置,然后偏移指针以访问类型的所有非公开成员。但是.NET对象完全受GC管理,地址根本无法得到,并且也无法通过指针调用方法。当然... 这是一种很不值得推荐的技巧,访问非公有成员很可能破坏对象状态,造成不可预料的后果。但是无论如何,利用.NET的反射机制可以轻松...
阅读全文
摘要:一、编码规则 Base64编码的思想是是采用64个基本的ASCII码字符对数据进行重新编码。它将需要编码的数据拆分成字节数组。以3个字节为一组。按顺序排列24位数据,再把这24位数据分成4组,即每组6位。再在每组的的最高位前补两个0凑足一个字节。这样就把一个3字节为一组的数据重新编码成了4个字节。当...
阅读全文
摘要:鉴于之前写的一篇博文没使用XML序列化来操作菜单,而且发现那还有一个问题,就是在XML菜单的某个菜单节点前加上一些注释代码的就不能读取,现在使用XML序列化后可以很方便的读取,故在此写一写。XML菜单的节点代码如下:复制代码1 2 3 4 5 6 7 8 ...
阅读全文
摘要:从今天开始,我们进入到学window form的知识,今天简单的学习了一些控件和事件的运用。没有什么很全面的理论,所以今天就总结下所写的程序。一个简单的注册页面程序注册页面程序要求:1:修改所有的控件Name 属性 2: 登录事件 检测各个控件是否为空,如果是空 弹出注册失败 如果成功 则显...
阅读全文
摘要:简介 本文用C#实现了一个最简单的HTTP服务器类,你可以将它嵌入到自己的项目中,或者也可以阅读代码来学习关于HTTP协议的知识。 背景 高性能的WEB应用一般都架设在强大的WEB服务器上,例如IIS, Apache, 和Tomcat。然而,HTML是非常灵活的UI标记语言,也就是说任何应用和后...
阅读全文
摘要:Visual Studio 2015 Preview包含了很多强大的新特性,无论你是从事WEB应用程序开发,还是桌面应用程序开发,甚至是移动应用开发,VS 2015都将大大提高你的开发效率。有几个特性非常有亮点,比如编辑器支持手势识别、Cordova工具包、C++增强工具和最新的Android模...
阅读全文
摘要:1、版本控制系统(VCS)VCS 也许是计算机课程最大的疏漏。这些课程光记得教如何写代码,但却往往忘记教学生如何去管理代码。每一个程序员都应该懂得利用 Git 或 Subversion 有效地创建 repository(仓库),编辑与提交代码,进行分支与合并,了解项目工作流。2、学会写作身为程序员要...
阅读全文
摘要:调用c++动态库一般我们这样写[DllImport("UCamer.dll", CallingConvention = CallingConvention.Winapi)]public extern static void Disp_Destroy(IntPtr hShow);DllImport的第...
阅读全文
摘要:在C#编程中,有时候会用到配置文件,那么该如何在程序中获取或修改配置文件中的相关数据呢?下面采用一个简单的C#控制台程序来说明。新建一个C#控制台程序,打开“解决方案资源管理器”,如下图:可以看到里面没有配置文件,下面使用修改.net的版本来将其调出来。选中工程,单击右键,选择属性。此时配置文件出来...
阅读全文
摘要:最近由于项目需要实现c#提交文字及数据至服务器,因此研究了一下c# php数据传送;下面用一个示例来演示,c# post文字+图片 ,php端接收;post提交数据核心代码(post数据提交)?12345678910111213141516171819202122232425262728293031...
阅读全文
摘要:在编写多线程程序时无可避免会遇到线程的同步问题。什么是线程的同步呢?举个例子:如果在一个公司里面有一个变量记录某人T的工资count=100,有两个主管A和B(即工作线程)在早一些时候拿了这个变量的值回去,过了一段时间A主管将T的工资加了5块,并存回count变量,而B主管将T的工资减去3块,并存回...
阅读全文
摘要:这一节我们演示下怎样使用VS2010创建与发布MVC3建立的网站。使用VS2010创建MVC3.0网站,需要下载MVC3.0的安装包,这个大家可以去网络上下载。 1.项目创建 打开VS2010,选择 文件--新建项目---ASP.NET MVC3 web应用程序,如下图 接着选择Raz...
阅读全文
摘要:在过去的一年中,互联网上的各大讨论区或者电子邮件的讨论列表都对微软的VB.NET以及C#的各种优越性做了探讨。这些讨论围绕的主要问题就是,我应该先学哪一个,VB.NET还是C#??我写这篇文章的目的就是想帮您解决这个问题。我并不是想动摇你倾向哪一种语言而是想解决一些大家在基本问题上的疑惑,以便大家能...
阅读全文
摘要:在任何一个平台(操作系统+硬件体系)上,编写和运行程序的三个最根本的需求是库、编译器/解释器、运行环境。库以类和方法(函数)的形式提供常用的例程,简化大型程序的编写。.NET框架也不例外,包含了许多类库。另外,把程序转换成可执行形式以及运行执行文件时,编译器和运行环境是必不可少的。Mono软件包...
阅读全文
摘要:Cookie就是所谓的" 小甜饼" ,他最早出现是在Netscape Navigator 2.0中。Cookie其实就是由Web服务器创建的、将信息存储在计算机上的文件。那么为什么Web服务器要在客户机上面创建如此文件?这是因为当客户机发送一个请求到WEB服务器时(譬如准备浏览页面时),无论此客户机...
阅读全文
摘要:许多人习惯于让Outlook记住密码,收邮件时便不必每次都输入邮箱密码,一切让Outlook代劳。但时间一长,马虎的人会把自己的邮箱密码忘记,这样就无法重新设置或者登录Web界面收取邮件了。Outlook绝对不会告诉你邮箱的密码是多少,即使你找到了注册表中Outlook存储帐户和密码信息的键值,由于...
阅读全文
摘要:随着下个版本的C#发布日逐渐临近,那些还没有完成的特性必须被砍掉。最近从特性列表中被砍掉的特性包括主要构造函数(primary constructor)和声明表达式(declaration expression)。Mads Torgersen写道:正如我之前所说的一样,语言特性在这次发布中只是第二...
阅读全文
摘要:有了在Word文档中编程实现搜索文本的经验,在Excel中实现这个功能也并非难事。打开Excel的VBA帮助,查看Excel的对象模型,很容易找到完成这个功能需要的几个集合和对象:Application、Workbooks、Workbook、Worksheets还有Worksheet和Range。...
阅读全文
摘要:概述(来自MSDN)Timer 组件是基于服务器的计时器,它使您能够指定在应用程序中引发Elapsed 事件的周期性间隔。然后可以操控此事件以提供定期处理。例如,假设您有一台关键性服务器,必须每周7 天、每天24 小时都保持运行。可以创建一个使用Timer 的服务,以定期检查服务器并确保系统开启并在...
阅读全文