没有合适的资源?快使用搜索试试~ 我知道了~
c#.net学习基础,学习心得,概括全部内容
资源详情
资源评论
资源推荐
如何将该类标记为可序列化类标记为不被序列化的字段
实例化三方法 : new; Create文件名”; 反射
1. new 关键字用法
运算符 用于创建对象和调用构造函数。
修饰符 用于向基类成员隐藏继承成员。
约 束 用于在泛型声明中约束可能用作类型参数的参数的类型。
1.DateTime.Parse(myString); 这行代码有什么问题?
如果 !" 不能转换为 #$ 则,抛出异常。
2.PDB 是什么东西? 在调试中它应该放在哪里?
调试符号文件 当您指定 %&"(发出调试信息)('编译器选项)时,编译器将在创建输出文件((或 )的同一目录下
创建一个与输出文件同名的 )文件。
*写一个标准的 +,在访问变量的前后创建临界区,要有,双重检查,,
)&-.+$
/
01+01012
++01
/
%%
3
3
10.对比 OOP 和 SOA,它们的目的分别是什么?
004面向对象程序设计是一种编程模型,强调将复杂的逻辑分解出小的模块,特性是继承,封装和多态 。05面向服务的体系结
构的思想是将业务逻辑封装成服务或者中间件提供给应用程序来调用,当然其组件化思想是继承和发扬了 00 的优点。
11.XmlSerializer 是如何工作的?使用这个类的进程需要什么 ACL 权限?
6 是将对象的属性和字段进行序列化和反序列化的,序列化成为 ( 数据,反序列化再将 ( 转换成对象。应该至少需
要 5. 权限中的读权限
6 使用的针对属性的模式有什么好处?解决了什么问题?
只序列化有用的数据,而不是序列化整个对象。实现没必要的数据冗余,和提升序列化时的性能。
12.为什么不提倡 catch(Exception)?
捕捉特定类型的异常 、将捕获系统所有的异常,不明确,异常太多 、出现异常的时候影响性能 、7 子句为空则表示放
行所有异常,威胁系统安全稳定。 $!7在执行完 7 子句后程序将继续执行,除非包含 &,(,7
13.Debug.Write 和 Trace.Write 有什么不同?何时应该使用哪一个?
#&"8 是调试的时候向跟踪窗口输出信息。当编译模式为 &" 的时候才有效,为 的时候 #&"8 在编译的时
候会忽略9而 $ 则是在 &" 和 两种模式下均可以向跟踪窗口输出信息。
14.Debug Build 和 Release Build 的区别,是否会有明显的速度变化?请说明理由。
#&" 调试版 包含用户调试时设置的断点信息以及调试信息,用全部符号调试信息编译,不进行优化; : 发行版 被完全优
化,不包含任何符号调试信息。
堆和栈的区别
栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。
堆:一般由程序员分配释放。用 、 等分配内存函数分配得到的就是在堆上。
栈是系统提供的功能,特点是快速高效,缺点是有限制,数据不灵活;而堆是函数库提供的功能,特点是灵活方便,数据适应面广泛,
但是效率有一定降低。
栈是系统数据结构,对于进程%线程是唯一的;堆是函数库内部数据结构,不一定唯一。不同堆分配的内存无法互相操作。
栈空间分静态分配和动态分配两种。静态分配是编译器完成的,比如自动变量&的分配。动态分配由 函数完成。
栈的动态分配无需释放是自动的,也就没有释放函数。为可移植的程序起见,栈的动态分配操作是不被鼓励的!堆空间的分配总是动态
的,虽然程序结束时所有的数据空间都会被释放回系统,但是精确的申请内存%释放内存匹配是良好程序的基本要素。
;<=&和 一样吗?
<=&表示 与 一致, 表示 与 的值相等 <=& 对象间的比较 存在拆箱和装箱; 更灵活 遇见值类型 比值;
遇见 "比字符串的值;遇见引用类型 比引用的对象。
>在对象比较中,对象一致和对象相等分别是指什么?
对象一致是指两个对象是同一个对象,引用相同。而对象相等是指两个对象的值相同,但引用不一定相同
?在<$ 中如何实现深拷贝())!)?
'中有两种类型变量,一种是值类型变量,一种是引用类型变量。对于前者,)! 是属于全盘复制;而对于后者,一般的 )! 只
是浅 )!,相当于只传递一个引用指针一样。因此对于后者进行真正 )! 的时候,也是最费事的,具体的说,必须为其实现
@ 接口中提供的 方法。
浅拷贝影子克隆A只复制对象的基本类型9对象类型9仍属于原来的引用
深拷贝深度克隆A不紧复制对象的基本类9同时也复制原对象中的对象就是说完全是新对象产生的
浅拷贝和深拷贝之间的区别:浅拷贝是指将对象中的数值类型的字段拷贝到新的对象中,而对象中的引用型字段则指复制它的一个引
用到目标对象。如果改变目标对象中引用型字段的值他将反映在原是对象中,也就是说原始对象中对应的字段也会发生变化。深拷贝与
浅拷贝不同的是对于引用的处理,深拷贝将会在新对象中创建一个新的和原是对象中对应字段相同(内容相同)的字段,也就是说这个
引用和原是对象的引用是不同的,我们在改变新对象中的这个字段的时候是不会影响到原始对象中对应字段的内容。所以对于原型模式
也有不同的两种处理方法:对象的浅拷贝和深拷贝。
%%浅拷贝
)&1
/
&7B2
3
%%深拷贝
)&1#)
/
4442
447C42
4)(7)(2
&42
3
、:<=&比较是否是相同的对象实例 9声明如下:
)&:<=&DDD1159DDD11E2
特殊情况:15、1E 均为 F.. 时,为 &
注意:该方法如作用与 !G&$!) 型(值类型),一律返回 A值类型需进行 ("装箱操作,则 不一样了
、默认也是 的,但很多对象给操作符重写了,进行的是 -& 比较,!G&$!) 均如此,部分 也重写
了,典型的如 !"
、<=&则相当复杂9两种定义A
)&-&<=&12
)&<=&1912
-& 方法的 <=& 默认的是 的比较,但<$+ 中的大部分类都重写了该方法,所以需要具体类型对待。
方法的 <=& 则有点区别,其判别方式如下:先 5、E 两对象是否同一 ,是H&5、E 是否为 F..,是H&
前两者均不是 &9返回调用 -& 的 <=&方法的结果这里需要注意的即 -& 的 <=&方法大都被重写了,所以返回的
结果需要依赖于各自类型的实现
I请解释一下 @
@接口包含一个成员 支持克隆
*为什么不应该在<$ 中使用 & 参数?它究竟好不好
<$ 中 .: 同视 和 &,但 '不同对待,区别就是谁负责初始化引用对象这样就不容易控制方法参数。
&关键字会导致参数通过引用来传递。与 关键字类似,不同之处在于 要求变量必须在传递之前进行初始化。若要使用 & 参数,
方法定义和调用方法都必须显式使用 & 关键字。& 参数传递的变量不需要在传递之前进行初始化,但需调用方法以便在方法返回之
前赋值。 和 & 关键字在运行时的处理方式不同,但在编译时的处理方式相同。因此,如果一个方法采用 ref 参数,而另一个方法采
用 out 参数,则无法重载这两个方法。但是,如果一个方法采用 ref 或 out 参数,而另一个方法不采用这两类参数,则可以进行重载。
当希望方法返回多个值时,声明 & 方法很有用。
J特性能够放到某个方法的参数上?如果可以,这有什么用? 委托
K新建包含 #L 控件的 54<$ 页,#L 控件负责显示检索到的数据并可按升降排序,我们通过 0属性来给
#L 控件提供数据排序方式:升序时 0的值为 5,降序时 0的值为 #<。如果用户选择降序,应该执行
5))0M#<M2
"-"5))0M2
70M#<M2
"-"70M2
G0M#<M2
"0"G0M2
70M0M2
"-"7#<M2
;)&-B""
/
III2
12
II2
12
8.,/I39/391/3,99912
3
请问此程序的输出是什么,为什么 II9III91III
>
/
)&&I2
%%加 静态构造 在程序执行前对 用于对静态数据初始化 只执行一次
/
&NN2
3
)&
/
&NN2
3
-B
/
2%%加
2%%再加
8.&2
:2
3
3
输出什么?
?以下语句执行后 !$ 的名称是什么?。,,空
!##$!$!##$2
I如下的 @#接口和 E(类,该类显式实现接口成员 ."7和 87。!# 是 @#接口的一个实
例。
@#
/
O."72
O872
3
E(A@#
/
O"7@72
O7@72
)&E(O"79O7
/
"7@7"72
7@772
3
O@#."7
/
&"7@72
3
O@#87
/
&7@72
3
)&-B
/
E(!E(E( II9II2
@#!#@#!E(2
!8.,."7A/I3,9!#."72
!8.,87A/I3,9!#872
3
3
const 和 readonly 有什么区别?
字段只能在该字段的声明中初始化,只能用内建的类型。! 字段可以在声明或构造函数中初始化,可以修饰任何类型包括
引用类型。因此,根据所使用的构造函数,! 字段可能具有不同的值。另外, 字段为编译时常数,而 ! 字段可用
于运行时常数
System.String 和 System.StringBuilder 有什么区别?
String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分
配新的空间。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。虽然 StringBuilder 对象
是动态对象,允许扩充它所封装的字符串中字符的数量,但是您可以为它可容纳的最大字符数指定一个值。此值称为该对象的容量,不
应将它与当前 StringBuilder 对象容纳的字符串长度混淆在一起。例如,可以创建 StringBuilder 类的带有字符串“HelloM(长度为 5)的一
个新实例,同时可以指定该对象的最大容量为 25。当修改 StringBuilder 时,在达到容量之前,它不会为其自己重新分配空间。当达到容
量时,将自动分配新的空间且容量翻倍。
6.解释一下 UDDI、WSDL 的意义及其作用。
8#.(网络服务描述语言,8-#)."&")是一门基于 6B.的语言,用于描述 8-以及如何
对它们进行访问。UDDI 是一种目录服务,企业可以使用它对 8-进行注册和搜索。F##@是一种由 8#.描述的
-界面的目录。F##@是一个独立于平台的框架,用于通过使用 @来描述服务,发现企业,并对企业服务进行集成。
Webservice 安全性:加密签名 身份信息 证书
7.常用的调用 webservice 方法有哪些? get post soap
6B.8
服务可以使用
F:. 、 P$$4
和
6B.
进行访问
、直接引用含有 - 解决方案的 。
、添加 引用
、在 @ 上调用
*、利用三 054 调用 webservice 可以支持事务 缓存 维持状态
[WebMethod (Description="描述",EnableSession=true,CacheDuration=60,BufferResponse=false,MessageName="用于为方法或属性名创
建别名", TransactionOption= TransactionOption.Supported/NotSupported/Disabled/Required/RequiresNew,)]
为了将会话状态存储在 ASP.NET HttpSessionState 对象中,XML Web services 必须继承自 WebService 和应用于 XML Web services 方法的
WebMethodAttribute(将 EnableSession 属性 (Property) 设置为 true)。如果 XML Web services 方法不需要会话状态,则禁用它即可提高
性能。
MessageName 属性可用于为方法或属性名创建别名。MessageName 属性 (Property) 最常用来唯一标识多态方法。默认情况下,
MessageName 设置为 XML Web services 方法的名称。因此,如果 XML Web services 包含两个或更多同名的 XML Web services 方法,则可
唯一确定各个 XML Web services 方法,处理方法是将 MessageName 设置为 XML Web services 内的唯一名称,而不用在代码中更改实际方
法的名称。
如果将 BufferResponse 设置为 true,就会将 XML Web services 方法的响应序列化到内存缓冲区中,直到该响应被完全序列化或缓冲区已
满为止。一旦完成对响应的缓冲处理,该响应就通过网络返回到 XML Web services 客户端。当 BufferResponse 为 false 时,对 XML Web
services 方法的响应在被序列化的同时被发回客户端。通常情况下,只有当已知 XML Web services 方法将大量数据返回到客户端时,才需
要将 BufferResponse 设置为 false。对于少量数据,将 BufferResponse 设置为 true 可提高 XML Web services 的性能。当 BufferResponse 为
false 时,将对 XML Web services 方法禁用 SOAP 扩展名。
8.webservice,在.netframework 中,怎么结合 xml?
应用程序与 - 通信的方式是以 6B. 数据的方法进行传输的。
?'可否直接操作内存?若能9如何操作2若不能9为什么可以9通过 & 语法9'可以使用类似于 NN的指针9直接操作内存。
10.描述一下 C#中索引器的实现过程,是否只能根据数字进行索引?
要声明类或结构上的索引器,请使用 7关键字,)&7(/3
索引器的签名由其形参的数量和类型组成。它不包括索引器类型或形参名。如果在同一类中声明一个以上的索引器,则它们必须具有不
同的签名。 要为索引器提供一个其他语言可以使用的名字,请使用声明中的 name 属性。
'并不将索引类型限制为整数。例如,对索引器使用字符串可能是有用的。通过搜索集合内的字符串并返回相应的值,可以实现此类
的索引器。由于访问器可被重载,字符串和整数版本可以共存。
#!
/
"!/,&,9,B,9,$&,9,8,9,$7&,9,,9,,32
)-L#!"#!
/
I2
foreach (string day in days)
{
if (day == testDay)
{
return i;
}
i++;
}
&H2
3
)&7"!
/
"
/
&L#!!2
3
3
3
4"
/
-B""
/
#!+#!2
!8.+,,2
!8.+,BH&)#!,2
3
3
>请叙述属性与索引器的区别。
属性 索引器
D通过名称标识。 通过签名标识。
D通过简单名称或成员访问来访问。 通过元素访问来访问。
D可以为静态成员或实例成员。 必须为实例成员。
D属性的 " 访问器没有参数。 索引器的 " 访问器具有与索引器相同的形参表。
D属性的 访问器包含隐式 -& 参数。 除了 -& 参数外,索引器的 访问器还具有与索引器相同的形参表。
安全权限控制 最基本的是在商务逻辑层进行控制。
0-覆写 0-重载
存在位置 继承关系的类 同一类中
方 法 名 相同 相同
参数列表 相同 必须不同
剩余29页未读,继续阅读
czmwinner
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2%EF%BC%9A%E9%99%95%E8%A5%BF%E
- yyspdz62_944.apk
- SAP公司间采购EDI配置-如何触发自动MIRO.docx
- python197基于图像识别的仪表实时监控系统.rar
- python196基于循环神经网络的情感分类系统.rar
- I2C驱动SHT30温湿度传感器和LCD12864使用例程(RSCG12864B)
- python193中学地理-中国的江河湖泊教学网(django).rar
- python191基于时间序列分析的大气污染预测软件(django).rar
- python190基于人脸识别智能化小区门禁管理系统.rar
- python189某医院体检挂号系统.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0