2024年5月6日发(作者:)
1、
C#的委托是什么?其关键字是什么?怎么使用?
答:委托是C#中新加入的一个类型,可以把它想作一个和Class类似的一种类
型,和使用类相似,相当于回调函数;其关键字是delegate;使用一个委托时,
需要两个步骤,首先你要定义一个委托,就像是定义一个类一样;然后,你可以
创建一个或多个该委托的实例。
2、c#有没有Hashtable、HashMap?其作用是什么?
答:有hashtable,无hashmap,它是是根据关键码值(Key value)而直接进行访
问的数据结构。也就是说,它主要作用是通过把关键码值映射到表中一个位置来
访问记录,以加快查找的速度。
() 和 wait() 有什么区别?
答:sleep()方法是将当前线程挂起指定的时间。
wait()释放对象上的锁并阻塞当前线程,直到它重新获取该锁。
4、什么是动态链接库,其优点是什么?
答:动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一
个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。其优点
大体说来,使用动态链接库可以共享代码、系统资源,可以隐藏实现的代码或底
层的系统例程、设计自定义控件。
5、winform中获取html网页信息有哪几种控件?
答:webbrowser、webrequest、webclient、socket。
6、
已有一个方法 say,形如:
namespace test
{
class A
{
public string say(){ return "Hello World!" ;}
}
}
已编译成,请问如何在winform窗体中调用该DLL然后显示出 Hello World!,该如何
实现??
答:第一种在vs中引用dll即,然后在类中引用命名空间using test,,
然后在实例化对象,A testa = new A(); (());
第二种方式导入dll即[DllImport("")]; ,然后声明方法static
extern string say(); 然后直接调用即可(say());。
有什么区别,第一种只能调用c#生成的dll,而第二种则可以调用第三方软件生
成的dll。
7、SendMessage和PostMessage的区别
答:PostMessage 是异步的,SendMessage 是同步的。PostMessage 只把消息放
入队列,不管消息是否被处理就返回,消息可能不被处理;而SendMessage 等
待消息被处理完了之后才回,如果消息不被处理,发送消息的线程将一直被阻塞。
8、webbrowser能应用在多线程方式下使用么?能在子线程创建吗?一
般怎么解决?
答:能在多线程中使用;不能在子线程创建;一般采用委托来解决,比如
MethodInvoker mi = new MethodInvoker(ergate);
"form实例".BeginInvoke(mi);
private void WebNevergate(){"form实"."Webbrowser".Navigate(web_url);}
发布评论