.Net 笔试题 1:说说什么叫字符串不可变?string s="abc";s="123"字符串 s 不就变了吗? 答:String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。 String 是不可变的。在这段代码中,s 原先指向一个 String 对象,内容是 "abc",然后我们将s 指向"123",那么 s 所指向的那个对象是否发生了改变呢?答案是没有。这时, s 不指向原来那个对象了,而指向了另一个 String 对象,内容为"123",原来那个对象还存在于内存之中,只是 s 这个引用变量不再指向它了。 扩展:在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。 .net 笔试题 2:BS 与 CS 的联系与区别? 答:C/S 是 Client/Server 的缩写。客户端需要安装专用的客户端软件。 B/S是 Brow er/Server 的缩写,客户机上只要安装一个浏览器。在这种结构下,用户界面完全通过浏览器实现,一部分事务逻辑在前端实现,但是主要逻辑在服务器端实现。浏览器通过Web Server 同数据库进行数据交互。 C/S 与 B/S 区别: 1).硬件环境不同: C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门服务器提供连接和数据交换服务. B/S 一般建立在广域网之上的, 有比C/S 更强的适应范围, 一般只要有操作系统和浏览器就行 。 2).对安全要求不同 C/S 一般面向相对固定的用户群, 对信息安全的控制能力很强. 一般高度机密的信息系统采用 C/S 结构适宜. 可以通过B/S 发布部分可公开信息. B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。 3).处理问题不同 C/S 程序可以处理用户面固定, 并且在相同区域, 安全要求高需求, 与操作系统相关. 应该都是相同的系统。C/S 的客户端由于是本地程序,因此和本地硬件、程序的交互性很强,比如可以控制本机的其他程序、可以读写本地磁盘文件、可以与硬件交互。 B/S 建立在广域网上, 面向不同的用户群, 分散地域, 这是 C/S 无法作到的. 与操作系统平台关系最小,正应为如此B/S 很难和本地硬件、程序、文件进行交互,比如很难控制本机...