
C#技术内幕
夜色。
龘虢啊,崛起吧.
展开
-
c#版点在面内算法
点在面算法,就是放射线算法,原理很简单,就是把一个点向任意方向发射(本程序是向下),如果跟这个面有奇数个交点,证明点在面里面,若是偶数个,则是在外面(包括0),算法主要是优化效率。本人水平有限,算法中肯定有不足之处,请大家海涵!主要函数如下。1. struct TabPoint2. {3. private double x;4. publi转载 2012-12-01 12:09:40 · 1191 阅读 · 0 评论 -
C#实现A*算法
原址http://www.bianceng.cn/Programming/csharp/201012/21809.htm 在游戏开发中,AI的最基本问题之一就是寻路算法或称路径规划算法,在三 年前,我曾实现过 基于“图算法”的最短路径规划算法,然而在游 戏中,我们通常将地图抽象为有单元格构成的矩形,如:这个微型地图 由3*3的单元格构成,当然,实际游戏中的地图通常比它大转载 2012-12-01 12:08:00 · 1414 阅读 · 0 评论 -
c#冒泡、快速、选择和插入排序算法的项目应用
在之前的一篇文章里,我们简单地实现了对一维数组的四种排序算法,但是 在实际的项目中,我们排序的方式可能(几乎是一定)不止仅仅按照数字排序, 我们常常按照合适的需要的排序方式进行排序,比如航班信息可能按时间排序, 商品信息可能按价格排序等等。下面改进之前的那一篇“c#实现冒泡、快 速、选择和插入排序算法”里的代码,实现可以对不同对象(实例中是Car )的按照不同排序类型(实例中是价格和名称)的方式排转载 2012-12-01 11:52:26 · 714 阅读 · 0 评论 -
C# 网络相关类汇总
WebRequest 类http://msdn.microsoft.com/zh-cn/library/system.net.webrequest.aspxHttpWebRequest 类http://msdn.microsoft.com/zh-cn/library/system.net.httpwebrequest.aspx转载 2014-01-10 18:40:44 · 784 阅读 · 0 评论 -
C#序列化技术详解
序列化和反序列化我们可能经常会听到,其实通俗一点的解释,序列化就把一个对象保存到一个文是件或数据库字段中去。反序列化就是在适当的时候把这个文件再转化成原来的对象使用。序列化和反序列化最主要的作用有:1、在进程下次启动时读取上次保存的对象的信息 2、在不同的AppDomain或进程之间传递数据 3、在分布式应用系统中传递数据....转载 2013-12-20 17:11:54 · 964 阅读 · 0 评论 -
C#反射相关
反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。 System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码 System.Reflection.Assembly System.Refle转载 2013-09-22 19:55:19 · 917 阅读 · 0 评论 -
HttpWebRequest使用注意(发生阻塞的解决办法)
HttpWebRequest使用注意(发生阻塞的解决办法)HttpWebRequest myRequest = null; HttpWebResponse myResponse = null; Stream reqStream = null; Stream resStream = null;转载 2013-09-06 18:07:41 · 7130 阅读 · 1 评论 -
C# HttpWebRequest 绝技
C# HttpWebRequest 绝技在线测试工具http://www.sufeinet.com/thread-3690-1-1.htmlc# HttpWebRequest与HttpWebResponse 绝技 如果你想做一些,抓取,或者是自动获取的功能,那么就跟我一起来学习一下Http请求吧。本文章会对Http请转载 2013-09-06 18:38:02 · 1446 阅读 · 0 评论 -
HttpWebRequest的经典实例
HttpWebRequest的经典实例2009-03-14 18:15 by sufeinet, 1250 阅读, 0 评论, 收藏, 编辑这是一个用来群发短信的例子,Xml文件自己写好我这里不能贴出来,因为呵呵,大家都知道里面有用户名和密码吗,呵呵,自己用的时候自己写一下就行了。代码里有注释不用我多说了using System;using System.Colle转载 2013-09-06 18:14:36 · 1009 阅读 · 0 评论 -
C#,WebRequest类、HttpWebRequest类与HttpRequest类的区别
C#,WebRequest类和HttpWebRequest类的区别?httpWebRequest是webRequest的子类,httpWebRequest是基于http协议的 . HttpWebRequest 是 WebRequest 的实例化使用,单独的 WebRequest 是不能使用的在使用HttpWebRequest实例,我们不用使用HttpWebRequest类的构造函数,而转载 2013-09-06 17:38:48 · 4489 阅读 · 1 评论 -
C#预处理器指令。Unity多平台很有用哦。
常用关键字外,C#还有许多名为"预处理器指令"的命令。这些命令从来不会转化为可执行代码中的命令,但会影响编译过程的各个方面。例如,使用预处理器指令可以禁止编译器编译代码的某一部分。如果计划发布两个版本的代码,即基本版本和有更多功能的企业版本,就可以使用这些预处理器指令。在编译软件的基本版本时,使用预处理器指令还可以禁止编译器编译与额外功能相关的代码。另外,在编写提供调试信息的代码时,也可以使用预处转载 2013-06-18 16:41:26 · 1847 阅读 · 0 评论 -
C# 文件重命名
C#里面,重命名文件时,没有 rename 这个功能,使用的是FileInfo.MoveTo的方式,MoveTo 到原目录里一个新的名字,即实现了重命名此方法用于重命名文件夹内的所有子文件夹的名称,新子文件夹的名称可以使用格式字符串,如DIR{0:0000},重命名后的子文件夹为:DIR0001、DIR0002、DIR0003等。 具体使用方式见示例代码。转载 2013-06-13 10:37:12 · 1090 阅读 · 0 评论 -
IDisposable 接口
C#中昂贵资源的释放是通过手工调用IDisposable.Dispose方法来进行的,更有using语句可以帮助用户及时调用Dispose方法,这在存在异常抛出的情况下非常有用。 MSDN对IDisposable接口的解释为:定义一种释放分配的资源的方法。此接口的主要用途是释放非托管资源。当不再使用托管对象时,垃圾回收器会自动释放分配给该对象的内存。但无法预测进行垃圾回收的时间。另外转载 2014-01-13 15:10:54 · 696 阅读 · 0 评论 -
C# 的IntPtr 是什么东西?
C#中的IntPtr类型称为“平台特定的整数类型”,它们用于本机资源,如窗口句柄。资源的大小取决于使用的硬件和操作系统,但其大小总是足以包含系统的指针(因此也可以包含资源的名称)。 所以,在您调用的API函数中一定有类似窗体句柄这样的参数,那么当您声明这个函数时,您应该将它显式地声明为IntPtr类型。 例如,在一个C#程序中调用Win32API mciSendString函数控制光盘驱动转载 2014-01-13 15:12:08 · 3430 阅读 · 0 评论 -
C# Json数据反序列化为Dictionary并根据关键字获取指定值
Json数据:{ "dataSet": { "header": { "returnCode": "0", "errorInfo": "HTTP请求错误", "version": "V1.0R010", "totalRows": "2000", "returnRows": "20" },转载 2014-01-17 17:40:56 · 3237 阅读 · 0 评论 -
C# 之 Anonymous Type
原址:http://www.csharpwin.com/dotnetspace/879.shtml在C#2.0中,引入了一个新的Feature:Anonymous Method,允许我们已Inline的方式来定义Delegate,为Developer在Coding的时候带来了很大的便利。在C#3.0中,我们又有了另一个相似的Feature:Anonymous T转载 2014-01-17 17:28:42 · 3074 阅读 · 0 评论 -
C#实现万年历(农历、节气、节日、星座、属相、生肖、闰年等)
C# 万年历 农历 节气 节日 星座 星宿 属相 生肖 闰年月 时辰等,代码如下:using System.Collections.Generic;using System.Text;using System;namespace yangliToyinli{ #region ChineseCalendarException /// /转载 2014-01-17 17:39:26 · 1721 阅读 · 0 评论 -
C#委托与事件
现在还不会的孩子,请面壁思过!!!!!委托的声明public delegate void MyDelegate(string str);注1.委托的定义和方法的定义类似,只是在前面加了一个delegate,但委托不是方法,它是一种类型。是一种特殊的类型,看成是一种新的对象类型比较好理解。用于对与该委托有相同签名的方法调用。2.委托相当于C++中的函数指针,但它是转载 2014-01-17 17:45:11 · 1078 阅读 · 0 评论 -
C# 验证码识别基础方法及源码
先说说写这个的背景最近有朋友在搞一个东西,已经做的挺不错了,最后想再完美一点,于是乎就提议把这种验证码给K.O.了,于是乎就K.O.了这个验证码。达到单个图片识别时间小于200ms,500个样本人工统计正确率为95%。由于本人没有相关经验,是摸着石头过河。本着经验分享的精神,分享一下整个分析的思路。在各位大神面前献丑了。再看看部分识别结果 是不是看着很眼熟?转载 2014-01-17 17:43:05 · 1095 阅读 · 0 评论 -
C# 之 Extension Method
原址:http://www.csharpwin.com/dotnetspace/880.shtml在C#3.0中,引入了一些列新的特性,比如: Implicitly typed local variable, Extension method,Lambda expression, Object initializer, Anonymous type, Implicitl转载 2014-01-17 17:31:21 · 1147 阅读 · 0 评论 -
lock关键字的用法。弄懂了。
原址:http://www.csharpwin.com/csharpspace/12362r6119.shtml一直以来对于lock关键字的用法都存有疑惑,也从网上看到很多关于他的资料包括MSDN,无奈MSDN讲述的真是让人上火。今天决定小小研究一下一直都知道lock是锁定某一变量从而实现对某一代码段的独占执行。但是对于lock(this)、lock(t转载 2014-01-16 14:08:12 · 1653 阅读 · 0 评论 -
Marshal 类
功能及位置 : 将数据从托管对象封送到非托管内存块,属于.NET Framework 类库 命名空间:System.Runtime.InteropServices 程序集:mscorlib(在 mscorlib.dll 中)转载 2014-01-13 15:35:39 · 765 阅读 · 0 评论 -
lock 语句(C# 参考)
原址:http://msdn.microsoft.com/zh-cn/library/c5kehkcz(VS.80).aspxlock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。此语句的形式如下:Object thisLock = new Object();lock (t转载 2014-01-13 15:15:44 · 728 阅读 · 0 评论 -
C# 中的委托和事件(含续版)
『文章最后有Unity使用示例』引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net F转载 2013-03-01 18:38:53 · 1055 阅读 · 0 评论 -
10个经典的面向对象设计原则
面向对象设计原则是OOPS(Object-Oriented Programming System,面向对象的程序设计系统)编程的核心,但大多数Java程序员追逐像Singleton、Decorator、Observer这样的设计模式,而不重视面向对象的分析和设计。甚至还有经验丰富的Java程序员没有听说过OOPS和SOLID设计原则,他们根本不知道设计原则的好处,也不知道如何依照这些原则来进行编程转载 2013-03-20 18:04:16 · 720 阅读 · 0 评论 -
C#编写简单的聊天程序
引言这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考。文章大体分为四个部分:程序的分析与设计、C#网络编程基础(篇外篇)、聊天程序的实现模式、程序实现。程序的分析与设计1.明确程序功能如果大家现在已经参加了工作,你的经理或者老板告诉你,“小王,我需要你开发一个聊天转载 2013-03-01 18:33:00 · 759 阅读 · 0 评论 -
C#委托和事件详解
C# 中的委托和事件引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的转载 2012-12-01 12:14:05 · 983 阅读 · 1 评论 -
[资料搜集]C#内置事件 XML SVN Yield Thread
C#内置事件机制在Unity3D应用Unity3D是現在越來越流行的3D遊戲引擎,它支援JavaScript,c#和Boo語言。如果你是個Unity3D的愛好者,但只會JavaScript。這裏有一篇文章關於處理事件和消息傳遞,也許更適合你。A Useful Messaging System你知道C#有一個內置的事件機制嗎?這個東東在Unity3D裏也非常好用。下面舉一個例转载 2013-01-15 11:18:59 · 1595 阅读 · 0 评论 -
C# DllImport 托管代码的介绍 EntryPoint的使用
1 DLLImport的使用 using System;using System.Runtime.InteropServices; //命名空间class Example{//用DllImport 导入Win32的MessageBox函数 [DllImport("user32.dll", CharSet = CharSet.Unicode)]publ转载 2013-01-11 18:48:14 · 1890 阅读 · 0 评论 -
c#切割字符串几种方法
1,按单一字符切割string s="abcdeabcdeabcde";string[] sArray=s.Split("c");oreach(string i in sArray)Console.WriteLine(i.ToString()); 输出下面的结果: ab转载 2013-01-08 14:38:12 · 2397 阅读 · 0 评论 -
(转)C#数字转固定长度的字符串
关于数字右对齐和用0填充格式化字符串的方法在向文件或者报表输出数字的时候,固定字符串的长度向右对齐,用0填充其余空间的情况很常见。在这种情况下,使用String类(System名称空间)的Format方法就很方便。Format方法可以用参数设置字符串的格式以及指定相应的对象变量,本文提取一些经常用到的数字变换成字符串的情形进行介绍。使用Format方法把数字夹杂在字符串转载 2012-12-28 20:56:33 · 4745 阅读 · 0 评论 -
[C#] Dictionary 如何使用 foreach (KeyValuePair)
這個也是很常用,也來記錄一下。參考:http://msdn.microsoft.com/zh-tw/library/5tbh8a42.aspx view sourceprint?01usingSystem.Collections; 02namespaceKeyValuePairTest转载 2012-12-28 13:15:41 · 1044 阅读 · 0 评论 -
C#使用Dotfuscator混淆代码的加密方法
正 文: C#编写的代码如果不进行一定程度的混淆和加密,那么是非常容易被反编译进行破解的,特别是对于一些商业用途的C#软件来说,因为盯着的人多,更是极易被攻破。使用VS自带的Dotfuscator可以实现混淆代码、变量名修改、字符串加密等功能。 飘易使用的是 Dotfuscator 4.2 PRO 版本,有需要的可以到网上搜索下载 Dotfuscator Professio转载 2012-12-24 11:39:52 · 2351 阅读 · 0 评论 -
C#正则表达式快速入门
作者将自己在学习正则表达式中的心得和笔记作了个总结性文章,希望对初学C#正则表达式的读者有帮助。[内容]什么是正则表达式 涉及的基本的类 正则表达式基础知识 构建表达式基本方法 编写一个检验程序 参考资料 [正文] 对于初学者看到类似“\w+@\w+\.\w{1,3}”这样复杂没有规律的字符,就会莫名产生一种恐惧感。其实正则表达式和字符串(String)的使用转载 2012-12-05 20:04:42 · 590 阅读 · 0 评论 -
c#判读字符串是否为数值型。。整理版。。 + C#常用正则表达式 。。。
//************************** 方法一 正则表达式 **********************************// [c-sharp] view plaincopyprint?/// /// 判读字符串是否为数值型。可以代正负号(+-) ikmb@163.com /// /// 字符串 /转载 2012-12-05 19:12:43 · 1161 阅读 · 0 评论 -
11个Visual Studio调试小技巧
简介 调试是软件开发周期中很重要的一部分。它具有挑战性,同时也很让人疑惑和烦恼。总的来说,对于稍大一点的程序,调试是不可避免的。最近几年,调试工具的发展让很多调试任务变的越来越简单和省时。 这篇文章总结了可能节省你大量时间的十个visual studio的调试技巧和方法。 1 悬停鼠标查看表达式值 调试是很有挑战性的。比如在函数内逐步运行可以看出转载 2013-02-26 18:18:16 · 525 阅读 · 0 评论 -
Thread.Sleep()挂起线程究竟是干嘛的??摘录
学习source,看到了下面一段代码try { Thread.sleep(2000); } catch (InterruptedException e) {}首先这段代码的作用是使当前进程沉睡2S,展现给用户的结果就是画面维持两秒,有个“正在启动”的感觉而已。其实,之前还有看到过sleep(0)的时候,这又是什么作用呢?转载 2013-03-01 18:22:32 · 1830 阅读 · 0 评论 -
C# 类型基础
引言本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制。复制又分为了浅度复制(Shallow Copy)和深度复制(Deep Copy),浅度复制 和 深度复制又是以 如何复制引用类型成员来划分的。由此又引出了 引用类型和 值类型,以及相关的对象判等、装箱、拆箱等转载 2013-03-01 18:31:26 · 462 阅读 · 0 评论 -
C# 理解泛型
出处:http://www.ondotnet.com/pub/a/dotnet/2004/05/17/liberty.html术语表generics:泛型type-safe:类型安全collection: 集合compiler:编译器run time:程序运行时object: 对象.NET library:.Net类库value type: 值类型b转载 2013-03-01 18:30:09 · 588 阅读 · 0 评论 -
C# 中的枚举器
出处:http://www.ondotnet.com/pub/a/dotnet/2004/06/07/liberty.html术语表Iterator:枚举器如果你正在创建一个表现和行为都类似于集合的类,允许类的用户使用foreach语句对集合中的成员进行枚举将会是很方便的。这在C# 2.0中比 C# 1.1更容易实现一些。作为演示,我们先在 C# 1.1中为一个简单的集合添转载 2013-03-01 18:29:10 · 469 阅读 · 0 评论