随笔分类 - C#语言
摘要:字符串在内存中的的几种风格字符串作为参数和返回值参考字符串在内存中的几种风格 所谓的风格,也就是字符串在内存中的存在形式。如何存放的,占据内存的大小,还有存放顺序等。在不同的编程语言和不同的平台上字符串风格一般不相同。 1、.net中字符串的风格 .net中的托管代码:1 ...
阅读全文
摘要:首先提出几个问题: ★、资源是什么?分类?它的作用是什么? ★、资源在可执行文件中的存在形式是什么? ★、资源编译到文件中的过程是怎么样的? ★、多个资源在可执行文件中的分布情况是怎么样的?相同的类型的多个资源呢?不同类型的资源呢? ★、程序怎么使用在可执行文件中的资源? ★、资源在VS中的使用资源
阅读全文
摘要:结构体的一些相关知识可直接转换类类型,比如int类型,在托管代码和非托管代码中占据内存大小 和意义都是一个样的。 结构体封送的关键是:在托管代码和非托管代码中定义的一致性。什么是定义的一致性?包括结构体的对齐粒度;结构体成员的顺序和每个结构体成员在托管代码和非托管代码中的占据内存的大小。本来想着是...
阅读全文
摘要:因为数组是引用类型,所以数组的处理根据数组元素的类型是否为“可直接传递到非托管代码”的类型而分为两种情况。主要目标是看内存是怎么变化的,是复制还是锁定。数组中的元素是"可直接传递到非托管代码中"的类型 这种类型很多,比如 int double 等。 完成的托管代码和非托管代码如下://///...
阅读全文
摘要:主要是看默认封送处理行为按类成员的类型是否为“可直接传递到非托管内存”的类型来分类;按照成员中是否有“可直接传递到非托管内存”的类型来讨论。 所有成员都是“可直接传递到非托管内存”的类型 托管代码和非托管代码: //托管代码 ClassStruct cs...
阅读全文
摘要:在做Winfrom程序时,有时会遇到一个异常,可是这个异常不知道在什么地方发生的,程序会自动关闭,然后什么也没有了,在网上找到了一种方法,用来捕捉这种异常。出现这种情况的原因是在程序中某些地方考虑不周全,有异常的情况没有考虑到,但是CLR不会在出错时给出提示(注:有些错误没有捕捉的话会自动弹出错误框...
阅读全文
摘要:事件的起因是在做一个项目功能时,添加快捷键关闭声音,这个键最终选择了空格键,但是当按下空格键时,会把窗体中获取焦点的控件(比如按钮,文本框等)的单击事件触发,所以要屏蔽这个现象。 开始使用各种方法,在网上各种查,但是没有什么效果,最后在属性列表中找到一个:Keypreview,说明上表示是 窗...
阅读全文
摘要:目标:想在WinForm程序之间传递参数。以便子进程作出相应的处理。一种错误的方法父进程的主程序:1 ProcessStartInfo psi = new ProcessStartInfo();2 psi.FileName = "ProcessChil...
阅读全文
摘要:可执行文件exe的文件名 包含绝对路径: 1 string path = Process.GetCurrentProcess().MainModule.FileName; 结果如下,正是文件的路径和全名: E:\计算机\C#\CSharpProject\程序目录路径相关\程序目录路径相关\bin\D
阅读全文
摘要:首先申明一下,写此博文的目的是纪录一下,知识都是现成的,只是整理一下,为了让自己更容易看懂,比在其他地方更容易明白。因为它们太常用了,不忍心每次都去用那么长的时间查看MSDN,希望能在这里用理少的时间来理解并运用其用法。最终目标是减少从接触到能理解并使用的时间。 List<T>类型的查找操作Find
阅读全文
摘要:看了P/Invoke技术的介绍,于是想写下点东西,东西包含两个部分:知识的纪录和我的理解及疑问。r托管代码中调用非托管API函数的过程 1、定位包含API的DLL; 2、载入DLL 3、找到DLL中想要的那个API,然后把参数压入栈中、排列数据(排列数据是什么意思?数据封送) 4、把执行权限...
阅读全文
摘要:命名空间:System.IO;Stream: 各种流的基类,不能时行查找操作,Position属性不能修改。读取时不Position不会自动移动, HttpWebRequest webreq = (HttpWebRequest)WebRequest.Create(new Uri("http://ww...
阅读全文
摘要:目录: 设置图形的旋转 设置坐标轴的反向 图形的旋转 参考一个文章:http://www.bccn.net/Article/kfyy/vc/jszl/200601/3008.html ; 目标:让DrawString能按一定的角度旋转。 过程:不改变设备坐标和逻辑坐标的原点,还有映射模式,因为映射模
阅读全文
摘要:使用Windows Media Player 其实就是使用组件AxWindowsMediaPlayer。 添加两个引用:Interop.WMPLib.dll和AxInterop.WMPLib.dll。 添加命名空间using AxWMPLib; 在使用时还有两个基本的条件:1、控件要依附在...
阅读全文
摘要:过程:1、连接数据库2、设置执行类型为存储过程,区别于SQL语句3、得到执行结果,返回值、输出参数等 1 //连接数据库 2 string connstr = "Data Source=ZGC-20131104001;Initial Catalog=J...
阅读全文
摘要:对配置文件的一些疑问: 在应用程序的目录下,有两处值得注意的地方,一个是应用程序根目录下的App.config文件,和bin\debug\name.exe.config 或者 bin\Release\name.exe.config下的配置文件。所谓操作的配置文件是其中的哪个呢?bin\debug中的...
阅读全文

浙公网安备 33010602011771号