2024年4月19日发(作者:)
1.
在
.net
(
C# or
)中如何获得当前窗体或控件的句柄,特别是
控件本身的句柄(请列举)。答案
:this(C#) Me().
2.
在
.net
(
C# or
)中如何取消一个窗体的关闭。
答案
:
private void Form1_Closing(object sender,
EventArgs e)
{
=true;
}
3.
在
.net
(
C# or
)中,
还是
有什
么不同?
答案
:
一个是退出整个应用程序,一个是关闭其中一个
form
4.
在
C#
中有一个
double
型的变量,比如
10321.5
,比如
122235401.21644
,作为货币的值如何按各个不同国家的习惯来输
出。比如美国用
$10,321.50
和
$122
,
235
,
401.22
而在英国则为
£
10 321.50
和£
122 235 401.22
答案
:
public static void Main()
{
//eInfo
MyCulture = new
eInfo("en-US"
);
eInfo MyCulture = new
eInfo("en-GB");//为
英国货币类型
decimal y = 9999999999999999999999999999m;
string str = (MyCulture, "My
amount = {0:c}", y);
ine(str);
}//{0,10:c} 0下标,10字符串要占用的字符数如果
字符数不够也会完整显示 ,
:c格式说明符 d,e,f,g,n,p,x
5.
某一密码仅使用
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 LL
问题三:下列哪一个是单词密码?
A) KLLN B) LOML C) MLLO D)NMKO
答案
:C
6. 62-63=1
等式不成立,请移动一个数字(不可以移动减号和等于
号),使得等式成立,如何移动?
答案
:62
移动成
2
的
6
次方
7.
根据线程安全的相关知识,分析以下代码,当调用
test
方法时
i>10
时是否会引起死锁
?
并简要说明理由。
(10
分
)
答案:
不会引起死锁(但有一点
int
是按值传递的,所以每次改
变的都只是一个副本,因此不
会出现死锁。但如果把
int
换
做一个
object
,那么死锁会发生)
public void test(int i)
{ lock (this)
{ if (i > 10)
{ i--;
test(i);
}
}
}
8
.
简要谈一下您对微软
.NET
构架下
remoting
和
webservice
两项技
术的理解以及实际中的应用。
(10)
答:
WS
主要是可利用
HTTP
,穿透防火墙。而
Remoting
可以
利用
TCP/IP
,二进制传送提高效率。
9.
公司要求开发一个继承
ew
类的组
件,要求达到以下的特殊功能:点击
ListView
各列列头时,能按
照点击列的每行值进行重排视图中的所有行
(
排序的方式如
DataGrid
相似
)
。根据您的知识,请简要谈一下您的思路:
(10)
答:根据点击的列头
,
包该列的
ID
取出
,
按照该
ID
排序后
,
在给
绑定到
ListView
中
10.
String
和
StringBuilder
的区别?
答案:
(
1
) 类是一种传统的修改字符串的方式,它确实可
以完成把一个字符串添加到另一个字符串上的工作没错。但是
在.NET框架下,这个操作实在是划不来。因为系统先是把两个字
符串写入内存,接着删除原来的String对象,然后创建一个
String对象,并读取内存中的数据赋给该对象。这一来二去的,
耗了不少时间,产生两个垃圾。
(
2
)而使用命名空间下面的StringBuilder类就不是
这样了,它提供的Append方法,能够在已有对象的原地进行字符
串的修改,简单而且直接。如果想要编写将连续操作依次连接起
来的单个语句,这将很方便。
如果要操作一个不断增长的字符串,请你不要再用String类
了。当然,一般情况下你是觉察不出这二者效率的差异的,但如果
你要对某个字符串进行大量的添加操作,那么用StringBuilder类
所耗费的时间和String类简直不是一个数量级的。
11.
能用
foreach
遍历访问的对象需要实现
_______
接口或声明
_________
方法的类型。
答:
IEnumerable
、
GetEnumerator
。
12. GC
是什么
?
为什么要有
GC?
答:
GC
是垃圾收集器。程序员不用担心内存管理,因为垃圾收
集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之
一:
()
time().gc()
13. String s = new String("xyz");
创建了几个
String Object?
答:两个对象,一个是
“xyx”,
一个是指向
“xyx”
的引用对象
s
。
14
. .abstract class
和
interface
有什么区别
?
答:
声明方法的存在而不去实现它的类被叫做抽象类
(
abstract class
),它用于要创建一个体现某些基本行为的类,并为
该类声明方法,但不能在该类中实现该类的情况。不能创建
abstract
类的实例。然而可以创建一个变量,其类型是一个抽象类,
并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态
方法。
Abstract
类的子类为它们父类中的所有抽象方法提供实现,
否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其
行为的其它类可以在类中实现这些方法。
接口(
interface
)是抽象类的变体。在接口中,所有方法都是
抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方
法都是抽象的,没有一个有程序体。接口只可以定义
static final
成
员变量。接口的实现与子类相似,除了该实现类不能从接口定义中
继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有
这种接口的方法。然后,它可以在实现了该接口的类的任何对象上
调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量
的类型。通常的动态联编将生效。引用可以转换到接口类型或从接
口类型转换,
instanceof
运算符可以用来决定某对象的类是否实现
了接口。
15. sleep()
和
wait()
有什么区别
?
答:
sleep()
方法是使线程停止一段时间的方法。在
sleep
时间间隔
期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它
线程可能正在运行而且没有被调度为放弃执行,除非
(a)“
醒来
”
的
线程具有
更高的优先级
(b)
正在运行的线程因为其它原因而阻塞。
wait()
是线程交互时,如
果线程对一个同步对象
x
发出一个
wait()
调用,该线程会暂停执行,
被调对象进入等待状态,直到被唤醒或等待时间到。
16
.
short s1 = 1; s1 = s1 + 1;
有什么错
? short s1 = 1; s1 += 1;
有什么
错
?
答:
short s1 = 1; s1 = s1 + 1;
有错,
s1
是
short
型,
s1+1
是
int
型
,
不能显式转化为
short
型。
可修改为
s1 =(short)(s1 + 1)
;
short s1 = 1; s1 += 1
正确。
17
.如何处理几十万条并发数据?
答:用存储过程或事务。取得最大标识的时候同时更新
..
注意主键
不是自增量方式这种方法并发的时候是不会有重复主键的
..
取得
最大标识要有一个存储过程来获取
.
18
.
Session
有什么重大
BUG
,微软提出了什么方法加以解决?
答:是
iis
中由于有进程回收机制,系统繁忙的话
Session
会丢失,
可以用
Sate server
或
SQL Server
数据库的方式存储
Session
不过
这种方式比较慢,而且无法捕获
Session
的
END
事件。
19
.进程和线程的区别?
答:进程是系统进行资源分配和调度的单位;线程是
CPU
调度和
分派的单位,一个进程可以有多个线程,这些线程共享这个进程
的资源
20
.堆和栈的区别?
答:
栈:由编译器自动分配、释放。在函数体中定义的变量通
常在栈上。
堆:一般由程序员分配释放。用
new
、
malloc
等分配内存
函数分配得到的就是在堆上。
21
.
ASP
。
NET
与
ASP
相比,主要有哪些进步?
答:
asp
解释形,
aspx
编译型,性能提高,有利于保护源码。
22
.产生一个
int
数组,长度为
100
,并向其中随机插入
1-100
,并且
不能重复。
int[] intArr=new int[100];
ArrayList myList=new ArrayList();//
动态数组
(
数组列表
)
Random rnd=new Random();
while(<100)
{
int num=(1,101);
If(!ns(num))
{ (num); }
}
for(int i=0;i<100;i++)
{
intArr[i]=(int)myList[i];
}
23
.列举
页面之间传递值的几种方式。
答. 1.使用
QueryString, 如....?id=1; response. Redirect()....
2.使用Session变量
3.使用er
24.如果在一个
B/S
结构的系统中需要传递变量值,但是又不能使用
Session
、
Cookie
、
Application
,您有几种方法进行处理?
答 :er
25.描述一下
C#
中索引器的实现过程,是否只能根据数字进行索引?
答:不是。可以用任意类型。
26.求以下表达式的值,写出您想到的一种或几种实现方
法:
1-2+3-4+……+m
答: int Num = 32(ne());
int Sum = 0 ;
for (int i = 0 ; i < Num + 1 ; i++)
{ if((i%2) == 1)
{Sum += i ;}
Else
{Sum = Sum - i;}
}
ine(ng());
27
.用
.net
做
B/S
结构的系统,您是用几层结构来开发,每一层之间
的关系以及为什么要这样分层?
答:一般为3层:
数据访问层,业务层,表示层。
1).数据访问层对数据库进行增删查改。
2).业务层一般分为二层,业务表现层实现与表示层的沟通,
业务规则层实现用户密码的安全等。
3).表示层为了与用户交互例如用户添加表单。
优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。
缺点: 增加成本。
28.
什么叫应用程序域?
答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用
资源小。
应用程序域是.NET中的一个重要技术改进,他用于减少运行应
用程序的系统开销,这些应用程序需要与其他程序分离开来,但
同时还需要彼此通信。
29.
CTS
、
CLS
、
CLR
分别作何解释?


发布评论