分类

链接

2024 年 11 月
 123
45678910
11121314151617
18192021222324
252627282930  

近期文章

热门标签

新人福利,免费薅羊毛

用栈实现递归算法(第一版)

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TEST { class Program { static void Main(string[] args) { Console.Write(GetFoo(10)); Console.Read(); } // static long GetFoo(int n) { if (IsLeaf(n)) { return GetLeafvalue(n); } //结果保存栈 Stack<lo...

.NET 暂无评论 阅读(1,365)

再说.NET的堆与栈

理解堆与栈对于理 解.NET中的内存管理、垃圾回收、错误和异常、调试与日志有很大的帮助。垃圾回收的机制使程序员从复杂的内存管理中解脱出来,虽然绝大多数的C#程序并 不需要程序员手动管理内存,但这并不代表程序员就无需了解分配的对象是如何被回收的,在一些特殊的场合仍需要程序员手动进行内存管理。 在32位的处理器上,每个进程的虚拟内存为4GB,.NET会在这4GB的内存块中开辟出3块内存,分别作为栈、托管堆、和非托管堆 堆(heap): 堆是从下往上分配,所以已用的空间在自由空间下面,C#中所有引用类型的对...

.NET 暂无评论 阅读(1,565)

再说.NET/C#中的堆与栈

理解堆与栈对于理 解.NET中的内存管理、垃圾回收、错误和异常、调试与日志有很大的帮助。垃圾回收的机制使程序员从复杂的内存管理中解脱出来,虽然绝大多数的C#程序并 不需要程序员手动管理内存,但这并不代表程序员就无需了解分配的对象是如何被回收的,在一些特殊的场合仍需要程序员手动进行内存管理。 在32位的处理器上,每个进程的虚拟内存为4GB,.NET会在这4GB的内存块中开辟出3块内存,分别作为栈、托管堆、和非托管堆 堆(heap): 堆是从下往上分配,所以已用的空间在自由空间下面,C#中所有引用类型的对...

.NET 暂无评论 阅读(1,336)

WINFORM自动捕获异常

WINFORM自动捕获异常 using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace WinformLogDemo {     static class Program     {         /// <summary>         /// 应用程序的主入口点。         /// </summary>         [STAThread]         static void Main()         {             try             {                 Application.EnableVisualStyles();                 Application.SetCompatibleTextRenderingDef...

.NET 暂无评论 阅读(1,935)

用栈实现递归算法(第一版)

  学习使用,先用二叉树后序遍历写了个 斐波那契数的例子,后台陆续更新更好的算法,最新在学《算法导论》,开始有点困难,不过不急,慢慢来。。。一天,一周,一个月一个算法,弄明白了,比什么都强!!   这段代码没有解释,不久会更新,先看着代码哈   using System; using System.Collections.Generic; using System.Linq; using System.Text;   namespace TEST {     class Program     {         static void Main(string[] args)         {             Console.Write(GetFoo(10));     ...

.NET 暂无评论 阅读(1,536)

.NET使用UPnP来穿透NAT

在写完Object 672后,软件的一个致命问题暴露出来,如果服务器和客户端都在内网环境下,即双方都通过NAT来接触外网,那么此时客户端是无法直接和服务器交流的。 解决方案可以是: 1:把服务器部署在不存在NAT的公网环境下。 2:使用常见的NAT穿透方法比如UDP打洞,或者STUN协议,但是这些方法都需要另一个已知的部署在公网环境下的服务器。 3:就是这篇文章主要讨论的方案,即不需要部署任何公网环境下的服务器,通过路由器支持的UPnP协议来把内网的接口绑定到公网接口上。 UPnP的一大优势就是不会像UDP打洞那样...

.NET 暂无评论 阅读(1,900)

A星寻路优化

这几天在天地会上看到有算法比赛,比的是谁实现的A*寻路速度快,虽然比赛不是那么正规,但是这种展现实力的机会咱也不能落后是不,于是咱也折腾出一个算法提交上去,点击这里下源码(如果觉得有学习到东西,能送点银子是更好的啦!):http://bbs.9ria.com/forum.php?mod=redirect&goto=findpost&ptid=172851&pid=1668442&fromuid=64655 128*128地图规模下1000个随机障碍,在我的电脑上一般不会超过1毫秒,只有一些奇葩的情况下会是1毫秒,没出现过2毫秒的情况。然后我尝试过5000个随机障碍,一...

.NET 暂无评论 阅读(3,052)

WinForm中如何获取“嵌入的资源”和“资源文件”数据

  生成操作:嵌入的资源;复制到输出目录:不复制; //获取“嵌入的资源”数据 Image.FromStream(Assembly.GetExecutingAssembly() .GetManifestResourceStream(@"TestCustomForm.Res.button.btndown.bmp")); 其中:TestCustomForm为项目名称,Res为项目下的文件夹,button为Res的子文件夹, btndown.bmp是文件名称。   //获取项目中“资源文件”的数据 Assembly asm = Assembly.GetExecutingAssembly(); ResourceManager rm = new ResourceManager("TestCustomForm.Properties.Resources", asm); String s...

.NET 暂无评论 阅读(4,937)

编程中的异常处理

  在 软件开发过程中,不可避免的会遇到错误处理,而且这部分对于整个软件的健壮性有非常大的作用,它是软件除了功能性以外最重要的指标了,一个软件成功与否与 其健壮性有很大的联系。我在以前的开发中也时常思考错误处理,因为这部分代码逻辑比较不容易梳理清楚。以异常的处理为例,以前通常就采用比较简单粗暴的处 理方式:用try..catch加Exception把所有异常都包起来,这样简单省事,写的代码最少,相信很多童鞋曾经跟我一样写过这样的代码,很明 显,这样写有很大的问题,最主要的问题在于:   Ex...

.NET, Android, C/C++, PHP, Python 暂无评论 阅读(2,379)

C#线程之线程池

线程的创建和销毁都要耗费大量的时间,有什么更好的办法?用线程池! 太多的线程浪费内存资源,有什么更好的办法?用线程池! 太多线程有损性能,有什么更好的办法?用线程池!(⊙_⊙)? 线程池是什么?继前三篇线程基础之后,我们要来学学线程池了。注意,这些信息相当有用! 为了设计和实现可伸缩的、可响应的和可靠的应用程序或组建,线程池是你必须采用的核心技术。 线程池是CLR的,线程池自动为你管理线程的创建和销毁,线程池创建的一组线程将为各种任务而重用,极大提高了使用线程的成本,这也就意味着,你的...

.NET 暂无评论 阅读(2,356)