C#小知识(4)
8.GDI+的初级使用技巧 如果你现在还在使用OnPaint()里面的e.Graphics.DrawXXX进行所有的绘图的话,那速度一定会让你吃不消的。怎么办?呵呵,试试这一招: Bitmap buffer=new Bitmap(100,100); System.Drawing.Graphics g=System.Drawing.Graphics.FromImage(buffer); g.DrawXXX; e.Graphics.DrawImage(buffer); 怎么样?速度是不是上去了?画面也是不是平滑一些了? 原理很简单,直接操作内存要比一个pixel一个pixel画要快。而且把图像先在内存中操作好然后统一渲染,不会给人画面迟钝的感觉。 9.使用unsafe关键字 C#支持使用非托管的指针,语法就如同C++里一样。譬如要设计一个链表: unsafe class ListNode { protected ListNode* Next; ... } 当然,unsafe可以加在任何类型、函数的声明前面作修饰,甚至还可以这样嵌在代码块里: public int f(double b) { int a = Convert.ToInt32(b); unsafe { int *p = &a; (*p)++; } return a; } 当然,带unsafe的代码能正确编译必须要打开/unsafe选项(或者在生成选项里打开不安全代码)

小知识评级:★★★★★☆☆☆☆ 发表者:{佚名} 3-19 [ 0]

 分享到:
 
 
我是:
本站注册用户
用户名: 密码:
非本站注册用户
我来评论:

评论字数在2000字以内。评论即可得2分,评论被采用后,根据评级可得到相应的积分和智慧果。
比如:评论评级为5,可得50分和5个智慧果。

 

 
 
 
 
 
 
































 

© 版权所有  2001-2024 知识网站
Copyright (C) 2001-2024 allzhishi.com All rights reserved
联系我们 — 电话:15973023232  微信:zhishizaixian  ICP备案号:湘ICP备08003211号-4