面试题
面试题面试题
面试题2
22
2
1
11
1.
. .
. 在
在在
在c
cc
c#
##
#中
中中
中using
usingusing
using和
和和
和new
newnew
new这两个关键字有什么意义
这两个关键字有什么意义这两个关键字有什么意义
这两个关键字有什么意义,
,,
,请写出你所知道的意义
请写出你所知道的意义请写出你所知道的意义
请写出你所知道的意义?
??
?
Using
Using Using
Using 引入一个名子空间
引入一个名子空间引入一个名子空间
引入一个名子空间,
,,
,或在使用了一个对像后自动调用其
或在使用了一个对像后自动调用其或在使用了一个对像后自动调用其
或在使用了一个对像后自动调用其IDespose
IDesposeIDespose
IDespose,
,,
,New
New New
New 实例化一个对像
实例化一个对像实例化一个对像
实例化一个对像,
,,
,或修饰一个方法
或修饰一个方法或修饰一个方法
或修饰一个方法,
,,
,表此
表此表此
表此
方法完全重写此方法
方法完全重写此方法方法完全重写此方法
方法完全重写此方法
2
22
2.
..
.在下面的例子里
在下面的例子里在下面的例子里
在下面的例子里
using System
using Systemusing System
using System;
;;
;
class A
class Aclass A
class A
{
{{
{
public A
public Apublic A
public A()
()()
(){
{{
{
PrintFields
PrintFieldsPrintFields
PrintFields()
()()
();
;;
;
}
}}
}
public virtual void PrintFields
public virtual void PrintFieldspublic virtual void PrintFields
public virtual void PrintFields()
()()
(){}
{}{}
{}
}
}}
}
class B
class Bclass B
class B:
::
:A
AA
A
{
{{
{
int x
int xint x
int x=
==
=1
11
1;
;;
;
int y
int yint y
int y;
;;
;
public B
public Bpublic B
public B()
()()
(){
{{
{
y
yy
y=-
=-=-
=-1
11
1;
;;
;
}
}}
}
public override void PrintFields
public override void PrintFieldspublic override void PrintFields
public override void PrintFields()
()()
(){
{{
{
Console
ConsoleConsole
Console.
..
.WriteLine
WriteLineWriteLine
WriteLine("
("("
("x
xx
x=
==
={
{{
{0
00
0},
},},
},y
yy
y=
==
={
{{
{1
11
1}
}}
}"
""
",
,,
,x
xx
x,
,,
,y
yy
y)
))
);
;;
;
}
}}
}
当使用
当使用当使用
当使用new B
new Bnew B
new B()
()()
()创建
创建创建
创建B
BB
B的实例时
的实例时的实例时
的实例时,
,,
,产生什么输出
产生什么输出产生什么输出
产生什么输出?
??
?X
XX
X=
==
=1
11
1,
,,
,Y
YY
Y=
==
=0
00
0
3
33
3.
..
.下面的例子中
下面的例子中下面的例子中
下面的例子中
using System
using Systemusing System
using System;
;;
;
class A
class Aclass A
class A
{
{{
{
public static int X
public static int Xpublic static int X
public static int X;
;;
;
static A
static Astatic A
static A()
()()
(){
{{
{
X
XX
X=
==
=B
BB
B.
..
.Y
YY
Y+
++
+1
11
1;
;;
;
}
}}
}
}
}}
}
class B
class Bclass B
class B
{
{{
{
public static int Y
public static int Ypublic static int Y
public static int Y=
==
=A
AA
A.
..
.X
XX
X+
++
+1
11
1;
;;
;
static B
static Bstatic B
static B()
()()
(){}
{}{}
{}
static void Main
static void Mainstatic void Main
static void Main()
()()
(){
{{
{
Console
ConsoleConsole
Console.
..
.WriteLine
WriteLineWriteLine
WriteLine("
("("
("X
XX
X=
==
={
{{
{0
00
0},
},},
},Y
YY
Y=
==
={
{{
{1
11
1}
}}
}"
""
",
,,
,A
AA
A.
..
.X
XX
X,
,,
,B
BB
B.
..
.Y
YY
Y)
))
);
;;
;
}
}}
}
}
}}
}
产生的输出结果是什么
产生的输出结果是什么产生的输出结果是什么
产生的输出结果是什么?
??
?x
xx
x=
==
=1
11
1,
,,
,y
yy
y=
==
=2
22
2
4
44
4.
..
.谈谈类和结构的区别
谈谈类和结构的区别谈谈类和结构的区别
谈谈类和结构的区别?
??
?
最大区别一个是引用类型
最大区别一个是引用类型最大区别一个是引用类型
最大区别一个是引用类型,
,,
,一个是值类型默认成员访问为
一个是值类型默认成员访问为一个是值类型默认成员访问为
一个是值类型默认成员访问为public
publicpublic
public是另外一个区别
是另外一个区别是另外一个区别
是另外一个区别
1
11
1.
. .
. 在
在在
在.
..
.net
netnet
net(
((
(C
CC
C#
# #
# or vb
or vbor vb
or vb.
..
.net
netnet
net)
))
)中如何获得当前窗体或控件的句柄
中如何获得当前窗体或控件的句柄中如何获得当前窗体或控件的句柄
中如何获得当前窗体或控件的句柄,
,,
,特别是控件本身的句柄
特别是控件本身的句柄特别是控件本身的句柄
特别是控件本身的句柄(
((
(请列举
请列举请列举
请列举)。
)。)。
)。
this
thisthis
this(
((
(C
CC
C#
##
#)
) )
) Me
MeMe
Me(
((
(vb
vbvb
vb.
..
.net
netnet
net).
).).
).
2
22
2在
在在
在.
..
.net
netnet
net(
((
(C
CC
C#
# #
# or vb
or vbor vb
or vb.
..
.net
netnet
net)
))
)中如何用户自定义消息
中如何用户自定义消息中如何用户自定义消息
中如何用户自定义消息,
,,
,并在窗体中处理这些消息
并在窗体中处理这些消息并在窗体中处理这些消息
并在窗体中处理这些消息。
。。
。
在
在在
在form
formform
form中重载
中重载中重载
中重载DefWndProc
DefWndProcDefWndProc
DefWndProc函数来处理消息
函数来处理消息函数来处理消息
函数来处理消息:
::
:
protected override void DefWndProc
protected override void DefWndProc protected override void DefWndProc
protected override void DefWndProc (
( (
( ref System
ref Systemref System
ref System.
..
.WinForms
WinFormsWinForms
WinForms.
..
.Message m
Message m Message m
Message m )
))
)
{
{{
{
switch
switchswitch
switch(
((
(m
mm
m.
..
.msg
msgmsg
msg)
))
)
{
{{
{
case WM
case WMcase WM
case WM_
__
_Lbutton
Lbutton Lbutton
Lbutton :
::
:
///
//////
///string
stringstring
string与
与与
与MFC
MFCMFC
MFC中的
中的中的
中的CString
CStringCString
CString的
的的
的Format
FormatFormat
Format函数的使用方法有所不同
函数的使用方法有所不同函数的使用方法有所不同
函数的使用方法有所不同
string message
string message string message
string message =
= =
= string
stringstring
string.
..
.Format
FormatFormat
Format("
("("
("收到消息
收到消息收到消息
收到消息!
!!
!参数为
参数为参数为
参数为:
::
:{
{{
{0
00
0},{
},{},{
},{1
11
1}
}}
}"
""
",
,,
,m
mm
m.
..
.wParam
wParamwParam
wParam,
,,
,m
mm
m.
..
.lParam
lParamlParam
lParam)
))
);
;;
;
MessageBox
MessageBoxMessageBox
MessageBox.
..
.Show
ShowShow
Show(
((
(message
messagemessage
message)
))
);
;;
;///
//////
///显示一个消息框
显示一个消息框显示一个消息框
显示一个消息框
break
breakbreak
break;
;;
;
case USER
case USERcase USER
case USER:
::
:
处理的代码
处理的代码处理的代码
处理的代码
default
defaultdefault
default:
::
:
base
basebase
base.
..
.DefWndProc
DefWndProcDefWndProc
DefWndProc(
((
(ref m
ref mref m
ref m)
))
);
;;
;///
//////
///调用基类函数处理非自定义消息
调用基类函数处理非自定义消息调用基类函数处理非自定义消息
调用基类函数处理非自定义消息。
。。
。
break
breakbreak
break;
;;
;
}
}}
}
}
}}
}
3
33
3.
. .
. 在
在在
在.
..
.net
netnet
net(
((
(C
CC
C#
# #
# or vb
or vbor vb
or vb.
..
.net
netnet
net)
))
)如何启动另一个程序
如何启动另一个程序如何启动另一个程序
如何启动另一个程序。
。。
。process
processprocess
process
4
44
4.
. .
. 在
在在
在.
..
.net
netnet
net(
((
(C
CC
C#
# #
# or vb
or vbor vb
or vb.
..
.net
netnet
net)
))
)中如何取消一个窗体的关闭
中如何取消一个窗体的关闭中如何取消一个窗体的关闭
中如何取消一个窗体的关闭
private void Form
private void Formprivate void Form
private void Form1
11
1_
__
_Closing
ClosingClosing
Closing(
((
(object sender
object senderobject sender
object sender,
, ,
, System
SystemSystem
System.
..
.ComponentModel
ComponentModelComponentModel
ComponentModel.
..
.CancelEventArgs e
CancelEventArgs eCancelEventArgs e
CancelEventArgs e)
))
)
{
{{
{
e
ee
e.
..
.Cancel
CancelCancel
Cancel=
==
=true
truetrue
true;
;;
;
}
}}
}
5
55
5.
. .
. 在
在在
在.
..
.net
netnet
net(
((
(C
CC
C#
# #
# or vb
or vbor vb
or vb.
..
.net
netnet
net)
))
)中
中中
中,
,,
,Appplication
AppplicationAppplication
Appplication.
..
.Exit
Exit Exit
Exit 还是
还是 还是
还是 Form
FormForm
Form.
..
.Close
CloseClose
Close有什么不同
有什么不同有什么不同
有什么不同?
??
?
答案
答案答案
答案:
::
:一个是退出整个应用程序
一个是退出整个应用程序一个是退出整个应用程序
一个是退出整个应用程序,
,,
,一个是关闭其中一个
一个是关闭其中一个一个是关闭其中一个
一个是关闭其中一个form
formform
form
6
66
6.
. .
. 在
在在
在C
CC
C#
##
#中有一个
中有一个中有一个
中有一个double
doubledouble
double型的变量
型的变量型的变量
型的变量,
,,
,比如
比如比如
比如10321
1032110321
10321.
..
.5
55
5,
,,
,比如
比如比如
比如122235401
122235401122235401
122235401.
..
.21644
2164421644
21644,
,,
,作为货币的值如何按各个不同国家的习惯来
作为货币的值如何按各个不同国家的习惯来作为货币的值如何按各个不同国家的习惯来
作为货币的值如何按各个不同国家的习惯来
输出
输出输出
输出。
。。
。比如美国用
比如美国用比如美国用
比如美国用$
$$
$10
1010
10,
,,
,321
321321
321.
..
.50
5050
50和
和和
和$
$$
$122
122122
122,
,,
,235
235235
235,
,,
,401
401401
401.
..
.22
2222
22而在英国则为
而在英国则为而在英国则为
而在英国则为£
££
£10 321
10 32110 321
10 321.
..
.50
5050
50和
和和
和£
££
£122 235 401
122 235 401122 235 401
122 235 401.
..
.22
2222
22
答案
答案答案
答案:
::
:
System
SystemSystem
System.
..
.Globalization
GlobalizationGlobalization
Globalization.
..
.CultureInfo MyCulture
CultureInfo MyCulture CultureInfo MyCulture
CultureInfo MyCulture =
= =
= new System
new Systemnew System
new System.
..
.Globalization
GlobalizationGlobalization
Globalization.
..
.CultureInfo
CultureInfoCultureInfo
CultureInfo("
("("
("en
enen
en-
--
-US
USUS
US")
")")
");
;;
;
第
第 第
第 1
1 1
1 页
页页
页