今天面试,问到了ref和out的区别。
ref是传递参数的地址,out是返回值,侧重输出,两者有一定的相同之处,不过也有不同点。
使用ref前必须对变量赋值,out不用。
out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,[......]
今天面试,问到了ref和out的区别。
ref是传递参数的地址,out是返回值,侧重输出,两者有一定的相同之处,不过也有不同点。
使用ref前必须对变量赋值,out不用。
out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,[......]
今天去面试了,一个简单的问题,C++中的char*转换成C#代码,应该对应什么类型。其实以前也用到过好多,在使用C#调用C++的动态库时,经常用到。只是从来没有留心,每次都是简单的搜索一下,找到答案。今天记录一下,以备后用。
C++ C# 传入的char*[......]
跨线程操作UI控件,相信大家经常会碰到,对于新手来说,总是会碰到麻烦,不知道如何使用子线程操作UI控件,因为.NET的安全机制,是不允许使用子线程操作UI控件的,只能由主线程操作。
子线程对UI控件的操作,需要通过委托来实现。举一个简单的例子,比如要给一个label控件赋值。
正常操作只[......]
写过一个博客群发软件(因为个人暂时没有使用需求,没有进一步开发更新),当时考虑,当添加对新博客的支持时,如何不用更改软件主体代码,而实现升级。考虑再三,决定把对每一个博客的支持模块,都封装为dll类库,支持类继承自同一个接口,通过使用反射,动态调用类库中的方法。这样,当对一个新的博客提供支持时,只需[......]
记得刚开始工作的时候,做的是视频播放软件,软件会涉及很多窗口,但是每次打开一个窗口,都new一个新的示例,而这些窗口是需要经常打开关闭的,时间长了,.NET的垃圾回收机制,并不会及时的回收不需要的资源,所以内存占用,会慢慢变大。在很多其他软件中,这种情况也是经常发生。
其实对于这样的情况,单例[......]
09年6月从学校出来,两年半多了,期间接触的东西不少,但是主要工作,还是从事Winform开发,其他都是自娱自乐。所以对这段时间,掌握的一些基本技术,做一个总结,还是很有必要的。从今天开始,我会每天总结一点以前使用过的一些比较重要的知识。(技术点可能会比较分散,我想到哪儿就写到哪儿,写的多了,我会尽[......]
这是个很简单事情,只需要写一个递归函数就OK,很早以前(至少两年前了)就写过,可是今天再碰到,竟然纠结了半天,总是出错,可能真是太长时间不写程序的缘故,思维都退化了。
在改进我那个邮件群发软件,做一个分组管理功能,分组以树的形式显示。
分组的数据结构很简单,只有三个字段,id,name,[......]
以前发过一篇文章,提到了Winform下选用html文本编辑器的问题。刚才一个朋友加我qq,说看到了我那篇文章,想问我具体实现方式,希望我能提供一个demo。
唉,我是个热心肠啊,所以马上动手,三分钟之后,当我搞定,写完demo的时候,我笑了,那帅哥qq上留言,说有事先闪了,让我写好之后发他邮[......]
这几天写的邮件群发软件,仅仅实现了群发功能,邮件地址需要从外部导入,虽然这个功能足够我使用了,但是还是想做一数据库,组织一下邮件地址和其他配置信息。
因为只是一个简单的单机版软件,数据库不能搞太复杂,电脑上没有装Access数据库,不想去下载,所以打算用sql server compact 3[......]
这几天在写一个群发邮件的小软件,基本完工了,再进行细节的优化。
自定义了一个类,用来保存邮件列表,主要是便于多线程处理。在这个类中,声明了一个队列Queue,来保存邮件列表,各个线程发送邮件的时候,就到这个列表中取一个邮件出队。
但是当我想遍历邮件列表时,就比较麻烦了,于是就想能否实现f[......]
近期评论