
C#
cocoasprite
记录是为了不忘却
展开
-
c#中数组赋值方法
http://blog.csdn.net/lltaoyy/article/details/6720778C#中数组复制有多种方法数组间的复制,int[] pins = {9,3,4,9};int [] alias = pins;这里出了错误,也是错误的根源,以上代码并没有出错,但是根本不是复制,因为pins和alias都是引用,存在于堆栈中,而数据9,3,4,3是一个int对象存在于堆中,转载 2016-09-05 17:37:50 · 30411 阅读 · 0 评论 -
params关键字[C#]
https://msdn.microsoft.com/zh-cn/library/vstudio/w5zay9db%28v=vs.110%29.aspxparams 关键字可以指定采用数目可变的参数的方法参数。可以发送参数声明中所指定类型的逗号分隔的参数列表或指定类型的参数数组。 还可以不发送参数。在方法声明中的 params 关键字之后不允许任何其他参数,并且在方转载 2015-09-29 20:53:45 · 506 阅读 · 0 评论 -
Control.CreateGraphics的实现[C#]
public System.Drawing.Graphics Control.CreateGraphics()-->Control.CreateGraphicsInternal()-->Graphics.FromHwndInternal(this.Handle)--> public static Graphics Graphics.FromHwndIntern原创 2015-09-30 09:52:52 · 995 阅读 · 0 评论 -
字符串与数字进行转换[C#]
如何:在十六进制字符串与数值类型之间转换(C# 编程指南)https://msdn.microsoft.com/zh-cn/library/bb311038.aspx如何:用前导零填充数字https://msdn.microsoft.com/zh-cn/library/dd260048.aspx如何:确定字符串是否表示数值(C# 编程指南)https://msd转载 2015-09-29 21:59:31 · 553 阅读 · 0 评论 -
子类化Button[Control.OnMouseMove 方法]
下面的代码示例演示如何重写派生类中的 OnMouseHover 和 OnMouseMove 方法。 要运行该示例,请将以下代码粘贴到一个新窗体中并将该类粘贴到此窗体的后面,以构成同一个文件。 将一个 FunButton 类型的按钮添加到窗体中。public class FunButton: Button{ protected override void OnMouseHover(Sys转载 2015-08-22 06:52:17 · 665 阅读 · 0 评论 -
如何:创建特定形状的 Windows 窗体
https://msdn.microsoft.com/zh-cn/library/f152hbx4(v=vs.110).aspx此示例向窗体提供随该窗体一起调整大小的椭圆形状。protected override void OnPaint(System.Windows.Forms.PaintEventArgs e){ System.Drawing.Drawing2D.Grap转载 2015-08-22 00:48:14 · 549 阅读 · 0 评论 -
c#在未出现异常情况下查看当前调用堆栈
http://www.cnblogs.com/yukaizhao/archive/2012/05/08/csharp-stacktrace.htmlC#查看堆栈通常是在异常处理中,出现异常之后通过异常的堆栈可以很方便的得到出现这个错误的代码调用路径。这个很有用,是否可以在没有异常出现时使用这种方法排查一些非异常错误呢?答案是肯定的。起因:论坛发帖子有几个途径,有可能是新转载 2015-08-22 00:26:01 · 3455 阅读 · 0 评论 -
C# 调用C/C++回调函数
http://tcspecial.iteye.com/blog/1675621C/C++内回调函数一般通过传递函数指针来实现,函数指针在C#中对应的就是委托. Cpp代码 // 传入函数指针 typedef void (*FUNC)(int,char*); JNAAPI bool processCallback(int a,FUNC f转载 2015-08-22 00:17:10 · 2784 阅读 · 0 评论 -
C#调用C/C++动态库 封送结构体,结构体数组
http://tcspecial.iteye.com/blog/1675309因为公司一直都是做C++开发的,因客户需要要提供C#版本接口,研究了一下C#,发现其强大简洁, 在跨语言调用方面封装的很彻底,提供了强大的API与之交互.这点比JNA方便多了. Java与C#都只能调用C格式导出动态库,因为C数据类型比较单一,容易映射. 两者都是在本地端提供一套与之映射的C#/java描述接转载 2015-08-22 00:15:05 · 607 阅读 · 0 评论 -
C#调用C++方法,C#使用c++方法返回类或结构体
http://www.cnblogs.com/yukaizhao/archive/2011/04/27/csharp_call_cpp_class_struct.htmlC#调用C++方法,C#使用c++方法返回类或结构体。1. 在c++中定义结构体,类,处理方法;要给c#调用的方法要加extern "C" __declspec(dllexport) 修饰转载 2015-08-22 00:08:13 · 1587 阅读 · 0 评论 -
.NET平台调用(Win32 P/Invoke)
推荐两个工具,一个是Microsoft开发的PInvoke Interop Assistant:http://clrinterop.codeplex.com/releases/view/14120下载链接地址:PInvoke Interop Assistant Installation另外一个是Microsoft Visual Studio的插件http://p原创 2015-08-16 22:23:49 · 830 阅读 · 0 评论 -
VS2012如何让两个或者多个项目共享同一个文件
按照这个顺序:选中项目,鼠标右键菜单==〉添加==〉添加现有项==〉选择相应的文件==〉添加为链接注意,最后一步,添加按钮上有一个表示下拉的小三角,点击它就能看到“添加为链接”选项了。虽然使用的是VS2012,我想其她版本的VS也应该类似。原创 2015-09-26 11:01:52 · 3418 阅读 · 0 评论 -
C#获取当前函数名称
System.Reflection.MethodBase.GetCurrentMethod().Name;原创 2015-07-18 23:06:24 · 5774 阅读 · 0 评论 -
Marshal.StructureToPtr(Object, IntPtr, Boolean)[将数据从托管对象封送到非托管内存块]
https://msdn.microsoft.com/zh-cn/library/2zhzfk83%28v=vs.110%29.aspx下面的示例创建一个托管的结构,将其传输到非托管的内存使用StructureToPtr方法,然后将它传输回托管的内存使用PtrToStructure方法。using System;using System.Runtime.InteropServ转载 2015-09-29 21:27:11 · 1280 阅读 · 0 评论 -
WinForm UI跨线程访问 Debug模式与非Debug模式下的区别
http://www.cnblogs.com/heqichang/archive/2012/09/07/2674685.html首先就从一个实验开始说起吧。在VS中建一个WinForm的工程,在界面上就放一个Label和一个Button,然后为按钮添加一个点击事件,修改代码如下:private void button1_Click(object sender, EventA转载 2015-11-04 21:51:22 · 580 阅读 · 0 评论 -
WPF程序
WPF程序通过spy++只有一个窗口句柄, 下面的子控件是看不到句柄的。所以也就没办法通过Win32 API FindWindow来查找子控件了。 如果您的代码没有经过代码混淆的话,别人是可以用ILSPY来查看其exe的代码的。原创 2015-11-04 21:31:21 · 648 阅读 · 0 评论 -
Bitmap调用LockBits[C#]
//#define ADDRESS_MODEusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threadi原创 2014-09-15 14:55:42 · 2780 阅读 · 0 评论 -
C# Winform界面中的分隔线问题
http://blog.sina.com.cn/s/blog_93098cb101012ssl.htmlC#中Winform中的控件很多,一个小小的问题居然会绕上一个小弯子,做界面的时候,你需要在界面上弄一条分隔线,把相关的功能分隔开来,结果原来在其它IDE编辑器里很容易实现的这个功能,在C#中试了半天,本想用那个Panel容器控件来做,结果调来调去,尺寸高度使终是4以上的高度才看得见,还转载 2015-07-22 23:14:46 · 7408 阅读 · 6 评论 -
软件运行时的图标从文件中进行读取[C#]
string path = Path.Combine(Application.StartupPath, "my_icon.ico");Icon icon = new Icon(path);this.Icon = icon;原创 2016-04-29 15:24:17 · 1505 阅读 · 0 评论 -
GDI+坐标变换(C#)
平移 拉伸 坐标重置原创 2015-12-30 22:31:55 · 3073 阅读 · 0 评论 -
C#未捕获异常处理方法
http://blog.csdn.net/robingaoxb/article/details/7278288C#经常会因为未捕获的异常而造成应用程序崩溃,以下是解决方法:1.WPF捕获[csharp] view plaincopy Application.Current.DispatcherUnhandledExc转载 2015-10-30 23:12:51 · 3193 阅读 · 0 评论 -
.NET Framework 中的网络编程
.NET Framework 中的网络编程https://msdn.microsoft.com/zh-cn/library/4as0wz7t%28v=vs.110%29.aspxSystem.Net选件类的最佳做法https://msdn.microsoft.com/zh-cn/library/zhzezf6d%28v=vs.110%29.aspx转载 2015-09-21 23:24:57 · 497 阅读 · 0 评论 -
CodeProject上的两个简单绘图程序
CodeProject 绘图程序原创 2015-11-10 00:04:43 · 823 阅读 · 0 评论 -
C# Brushes
C# Brushes原创 2015-11-10 00:00:58 · 1071 阅读 · 0 评论 -
C#代码片段
1.将打开的某个form激活foreach (Form form in Application.OpenForms){ if (form.GetType() == typeof(YourDialogClass)&&form.Text == "TheTitle") { form.Activate(); return; }}原创 2014-01-27 15:37:39 · 1006 阅读 · 0 评论 -
asp.net性能优化总结
http://blog.csdn.net/coofucoo/article/details/5261497coofucoo:这两篇文章之前发布的时候选择的是转帖,今天才发现变成了原创。再次成为了测试。。。 1. C#语言方面1.1 垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1转载 2015-09-20 23:22:49 · 739 阅读 · 0 评论 -
C# 线程手册 第六章 线程调试与跟踪 使用不同的监听器程序[Trace类和Debug类]
http://www.cnblogs.com/danielWise/archive/2012/04/24/2468989.html在这部分,我们将了解如何改变默认的监听器程序。Trace 类和Debug类暴露了监听器集合(一系列监听程序集合)。如果不添加任何新的监听类,DefaultTraceListener 将指向由Visual Studio.NET 提供的调试输出窗口。然而,.NE转载 2015-09-20 23:04:44 · 1159 阅读 · 0 评论 -
如何绘制贝塞尔样条曲线和基数样条曲线[C#]
如何:绘制单个贝塞尔样条 https://msdn.microsoft.com/zh-cn/library/88ehxdxb%28v=vs.80%29.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1如何:绘制贝塞尔样条序列 https://msdn.microsoft.com/zh-cn/library/8kc0eez9%28v=vs.80%原创 2015-11-06 20:00:32 · 3054 阅读 · 0 评论 -
AutoResetEvent和ManualResetEvent区别[C#]
AutoResetEvent 类https://msdn.microsoft.com/zh-cn/library/System.Threading.AutoResetEvent(v=vs.100).aspxNotifies a waiting thread that an event has occurred. This class cannot beinherited. Manu原创 2015-07-19 00:07:00 · 718 阅读 · 0 评论 -
MSDN How to
如何:在 Windows 窗体控件中处理用户输入事件https://msdn.microsoft.com/zh-cn/library/ms171549(v=vs.110).aspx如何:在代码中模拟鼠标和键盘事件https://msdn.microsoft.com/zh-cn/library/ms171548(v=vs.110).aspxWindows 窗体中的用户输入转载 2015-08-22 07:04:05 · 493 阅读 · 0 评论 -
C# 如何判断一个类是否实现了某个接口
http://www.cnblogs.com/yeagen/archive/2011/04/08/2009889.html转载 2014-05-30 10:47:54 · 3102 阅读 · 0 评论 -
C#中的全局变量
我们知道在C#中,不像C/C++,是没有全局变量的。但是我们可以用类的静态原创 2014-05-28 14:03:51 · 880 阅读 · 0 评论 -
C#自定义控件自动显示在工具箱
http://blog.sina.com.cn/s/blog_6f6c0f3501016huh.html工具=》选项=》Windows窗体设计器=》常规=》AutoToolBoxPopulate=》True转载 2014-05-28 12:45:38 · 1124 阅读 · 0 评论 -
C#中好用的类
1.System.Environment原创 2014-06-25 14:55:16 · 570 阅读 · 0 评论 -
C#自动实现的属性(从C#3.0引入)
public PixelFormat PixelFormat {set; get;}原创 2014-06-24 14:22:22 · 755 阅读 · 0 评论 -
C#创建单例
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace CC{ // //http://www.webshu.net/jiaocheng/programme/ASPNET/200606/2270.html //转载 2014-05-10 23:27:27 · 609 阅读 · 0 评论 -
使用Stopwatch类计算代码运行时间
http://msdn.microsoft.com/zh-cn/library/vstudio/System.Diagnostics.Stopwatch(v=vs.100).aspxusing System;using System.Diagnostics;using System.Threading;class Program{ static void Main(st转载 2014-03-22 11:22:16 · 730 阅读 · 0 评论 -
C#有用的类
System.Runtime.InteropServices.Marshal提供了一个方法集,这些方法用于分配非托管内存、复制非托管内存块、将托管类型转换为非托管类型,此外还提供了在与非托管代码交互时使用的其他杂项方法。原创 2014-02-07 09:18:01 · 695 阅读 · 0 评论 -
C#用lock 关键字进行线程互斥
http://msdn.microsoft.com/zh-cn/library/vstudio/c5kehkcz(v=vs.110).aspxlock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。(注解:lock属于用户态的线程同步,所占用的开销比内核态小)lock 关键字可确保当一个线程位于代码的临界区时,另一个线程不会进入该临界区。 如果其他线程原创 2013-11-25 11:37:25 · 1353 阅读 · 0 评论 -
Microsoft Win32 to Microsoft .NET Framework API Map
http://msdn.microsoft.com/en-us/library/aa302340.aspx原创 2013-11-28 14:54:19 · 625 阅读 · 0 评论