1. 在.net(C# or vb.net)中如何获得当前窗体或控件的句柄,特别是控件本身的句柄(请列举)。
答案:this(C#) Me(vb.net).
2. 在.net(C# or vb.net)中如何用户自定义消息,并在窗体中处理这些消息。
答案:
在form中重载DefWndProc函数来处理消息:
protected override void DefWndProc ( ref System.WinForms.Message m )
{
switch(m.msg)
{
case WM_Lbutton :
///string与MFC中的CString的Format函数的使用方法有所不同
string message = string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam);
MessageBox.Show(message);///显示一个消息框
break;
case USER:
处理的代码
default:
base.DefWndProc(ref m);///调用基类函数处理非自定义消息。
break;
}
}
3. 在.net(C# or vb.net)如何启动另一个程序。
答案:process
4. 在.net(C# or vb.net)中如何取消一个窗体的关闭。
答案:
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
e.Cancel=true;
}
5. 在.net(C# or vb.net)中,Appplication.Exit 还是 Form.Close有什么不同?
答案:一个是退出整个应用程序,一个是关闭其中一个form
6. 在C#中有一个double型的变量,比如10321.5,比如122235401.21644,作为货币的值如何按各个不同国家的习惯来输出。比如美国用$10,321.50和$122,235,401.22而在英国则为£10 321.50和£122 235 401.22
答案:
System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-US");
//System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo("en-GB");为英国货币类型
decimal y = 9999999999999999999999999999m;
string str = String.Format(MyCulture,"My amount = {0:c}",y);
7. 某一密码仅使用K、L、M、N、O共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:
(1) 密码单词的最小长度是两个字母,可以相同,也可以不同
(2) K不可能是单词的第一个字母
(3) 如果L出现,则出现次数不止一次
(4) M不能使最后一个也不能是倒数第二个字母
(5) K出现,则N就一定出现
(6) O如果是最后一个字母,则L一定出现
问题一:下列哪一个字母可以放在LO中的O后面,形成一个3个字母的密码单词?
A) K B)L C) M D) N
答案:B
问题二:如果能得到的字母是K、L、M,那么能够形成的两个字母长的密码单词的总数是多少?
A)1个 B)3个 C)6个 D)9个
答案:A
问题三:下列哪一个是单词密码?
A) KLLN B) LOML C) MLLO D)NMKO
答案:C
8. 62-63=1 等式不成立,请移动一个数字(不可以移动减号和等于号),使得等式成立,如何移动?
答案:62移动成2的6次方
一.填空题
1.c#中的三元运算符是__? :___?
2.当整数a赋值给一个object对象时,整数a将会被___装箱__?
3.类成员有___3__种可访问形式?
4.public static const int A=1;这段代码有错误么?是什么? const成员都是static所以应该去掉static
5.float f=-123.567F;
int i=(int)f;
i的值现在是__-123___?
6.利用operator声明且仅声明了==,有什么错误么? 要同时修改Equale和GetHash() ? 重载了"==" 就必须重载 "!="
7.委托声明的关键字是__delegate____?
8.用sealed修饰的类有什么特点? 不可被继承
9.在Asp.net中所有的自定义用户控件都必须继承自___System.Web.UI.UserControl_?
10.在.Net中所有可序列化的类都被标记为__ [serializable] ___?
11.在.Net托管代码中我们不用担心内存漏洞,这是因为有了___gC___?
12.下面的代码中有什么错误吗?____abstract override 是不可以一起修饰 ___ 不知道答案的正确性
using System;
class A
{
public virtual void F(){
Console.WriteLine("A.F");
}
}
abstract class B:A
{
public abstract override void F();
}
13.当类T只声明了私有实例构造函数时,则在T的程序文本外部,___不可以___(可以 or 不可以)从T
派生出新的类,__不可以__(可以 or 不可以)直接创建T的任何实例。
14.下面这段代码有错误么? case():不行 default;
switch (i){
case():
CaseZero();
break;
case 1:
CaseOne();
break;
case 2:
dufault;
CaseTwo();
break;
}
15.在.Net中,类System.Web.UI.Page 可以被继承么? 可以
二.简答题
1.在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?
2.在下面的例子里
using System;
class A
{
public A(){
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B(){
y=-1;
}
public override void PrintFields(){
Console.WriteLine("x={0},y={1}",x,y);
}
当使用new B()创建B的实例时,产生什么输出?
3.下面的例子中
using System;
class A
{
public static int X;
static A(){
X=B.Y+1;
}
}
class B
{
public static int Y=A.X+1;
static B(){}
static void Main(){
Console.WriteLine("X={0},Y={1}",A.X,B.Y);
}
}
产生的输出结果是什么?
4.谈谈类和结构的区别?
5.一个长度为10000的字符串,通过随机从a-z中抽取10000个字符组成。请用c#语言编写主要程
序来实现。
6.对于这样的一个枚举类型:
enum Color:byte{
Red,
Green,
Blue,
Orange
}
试写一段程序显示出枚举类型中定义的所有符号名称以及它们对应的数值。
7.您了解设计模式么?请列出您所知道的设计模式的名称。
8.请在SQL Server中设计表来保存一个树状结构的组织结构图(假设结构图中只有名称这一项内容
需要保存),如果我想查询某一职位下的所有职位,用一个存储过程来实现,你有什么思路?
9.什么叫做SQL注入,如何防止?请举例说明。
10.下面这段代码输出什么?为什么?
int i=5;
int j=5;
if (Object.ReferenceEquals(i,j))
Console.WriteLine("Equal");
else
Console.WriteLine("Not Equal");
---------------------------------
1 Using 引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对
像,或修饰一个方法,表此方法完全重写此方法,
2 X=1,Y=0
3 x=1,y=2
4 最大区别一个是引用类型,一个是值类型 默认成员访问为public是另外一个区别
1、override与重载的区别
2、.net的错误处理机制是什么
3、C#中接口和类的异同
4、DataReader和DataSet的异同
Override用来重写父类的方法,重载使用相同名的方法或操作符拥有不同类型的参数
.net错误处理机制采用try->catch->finally结构,发生错误时,层层上抛,直到找到匹配的Catch为止。
接口和类都是类,不同的事,接口只包含方法或属性的声明,不包含具体实现方法的代码,接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用。
DataReader用于读取数据,DataSet用于在内存中保存数据。
重载与覆盖的区别
1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。
2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。
3、覆盖要求参数列表相同;重载要求参数列表不同。
4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。
4、DataReader和DataSet的异同
DataReader和DataSet最大的区别在于,DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..
DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作...
垃圾回收器是用来管理应用程序的内存分配和释放的。当一个应用程序在运行的时候,垃圾回收器设置了一个托管堆。每次当开发人员使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。新创建的对象被放在上次创建的对象之后。垃圾回收器保存了一个指针,该指针总是指向托管堆中最后一个对象之后的内存空间。当新的对象被产生时,运行库就知道应该将新的对象放在内存的什么地方。当垃圾回收器的指针指向托管堆以外的内存空间时,就需要回收内存中的垃圾了。在这个过程中,垃圾回收器首先假设在托管堆中所有的对象都需要被回收。然后它在托管堆中寻找被根对象引用的对象(根对象就是全局,静态或处于活动中的局部变量以及寄存器指向的对象),找到后将它们加入一个有效对象的列表中,并在已经搜索过的对象中寻找是否有对象被新加入的有效对象引用。直到垃圾回收器检查完所有的对象后,就有一份根对象和根对象直接或间接引用了的对象的列表,而其它没有在表中的对象就被从内存中回收。___更详细的信息请参考: http://www.linuxmine.com/48694.html
protected void Page_Load(object sender, EventArgs e)
{
foreach (Control ctl in Page.Controls[0].Controls)
{
if (ctl.GetType().Name == "TextBox")
{
TextBox tb = new TextBox();
tb = (TextBox)this.FindControl(ctl.ID);
tb.Text = "";
}
}
}
int[] i = new int[5] {5,3,4,2,1};
for(int j = 0; j < i.Length-1; j++)
{
for (int k = 0; k < i.Length-1; k++)
{
int a;
if (i[k] > i[k + 1])
{
a = i[k];
i[k] = i[k + 1];
i[k+1]=a;
}
}
}
It is the new features in IIS 6.0. An Application Pool can contain one or more applications and allows us to configure a level of isolation between different Web applications. For example, if you want to isolate all the Web applications running in the same computer, you can do this by creating a separate application pool for every Web application and placing them in their corresponding application pool. Because each application pool runs in its own worker process, errors in one application pool will not affect the applications running in other application pools. Deploying applications in application pools is a primary advantage of running IIS 6.0 in worker process isolation mode because you can customize the application pools to achieve the degree of application isolation that you need.____ http://www.developer.com/net/asp/article.php/2245511 需要的话,大家多多支持,我可以抓时间翻译全文,呵呵。
以前下过一个Enterprise Library 2006,但是没具体应用过,我知道和熟悉的就是Data Access Application Block 和一个关于日志的Application Block了。下面是所有的:数据访问应用程序块;配置管理应用程序块;安全应用程序库;日志和监测应用程序块;缓存应用程序块;异常处理应用程序块;加密应用程序块。详见: http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/EntLib.aspx august
Web Service是由URI(统一资源标识符)标识的软件应用程序,是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。
WSDL(Web Service Description Language,Web Service描述语言)
Common Object Request Broker Architecture,CORBA通用对象请求代理体系结构Extensible Markup Language,XML 可扩展标记语言
SOAP Simple Object Access Protocol,SOAP简单对象访问协议
Universal Description Discovery and Integration,UDDI 通用描述、发现和集成
Service Oriented Architecture, SOA 面向Service的架构
"Service 请求者。从企业的角度看,这是要求满足特定功能的企业。从体系结构的角度看,这是寻找并调用Service,或启动与Service的交互的应用程序。 Service请求者角色可以由浏览器来担当,由人或无用户界面的程序(例如,另外一个 Web Service)来控制它。
"Service注册中心。这是可搜索的Service描述注册中心,Service提供者在此发布他们的Service描述。
通用类型系统(CTS:Common Type System):为了实现语言的互操作性,必须有一组各种语言都认可的基本数据类型,这样才能对所有的语言进行标准化处理。CTS 就提供了这个功能,还提供了定义定制类的功能。
公共语言规范(CLS:Common Language Specification):这是确保代码可以在任何语言中访问的最小集合,所有用于.Net的编译器都应该该支持CLS。CLS构成了可以在.Net 和 IL中使用的功能子集,代码也可以使用CLS外部的功能。如果非CLS功能在代码所在的装配件外部是可见的,那么这些功能就不能在某些语言中使用。
公共语言运行时(CLR:Common Language Runtime):它实际上管理代码,他可以处理加载程序、运行程序的代码以及提供所有支持服务的代码。