1、在下面的代码中,如何引用命名空间fabulous中的great?
namespace
fabulous{// code in fabulous namespace}
namespace super{ namespace
smashing{// great name defined }}
答:super.smashing.great
2、字符串“supercalifragilisticexpialidocious”对于string变量是否太长?为什么?
答:否,在C#中,对于字符串的长度没有限制。
3、概述反射和序列化?
答:反射:反射提供了封装程序集,模块和类型对象,可以用反射动态地创建类型的实例,将类型绑定到现有对象,或者从现有对象类型里获取类型,然后调用类型的方法或访问字段和属性。
序列化:将对象转换为另一种媒介传输的格式过程。如,序列化一个对象,用Http通过internet在客户端和服务器之间传递该对象,在另一端用反序列化从该流中重新得到对象。
4、C#中的委托是什么?事件是不是一种委托呢?
答:委托是一种安全的类似与函数指针,但是它比指针要安全的多,它可以把方法作为一个参数传递给另一个方法,可以理解为指向函数的引用。事件是一种消息机制,它是一种委托,委托不带方法体。
5、C#中索引器实现过程,是否只能根据数字索引?
答:不是的,可以是任意类型。
6、请你说说.NET中类和结构的区别?
答:结构和类具有相似的语法,但结构受到的限制比类要多。结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是应用类型,改变其变量的值会改变其原值。申明结构用Struck关键字,申明类用class关键字,向方法传递结构是时是通过值传递的,而不是通过引用。与类不同,结构的实例化可以不使用New关键字。类可以实现接口。
7、如果有两个整数存储在变量var1和var2中,什么样的布尔测试可以查看它们其中一个是否大于10?
答:(var1 > 10)^(var2 >
10)。
8、在c#中,using和new这两个关键字有什么意义?
答:using
引入名称空间或者使用非托管资源。
new
新建实例或者隐藏父类方法。
9、const和readonly有什么区别?
答:const关键字用来声明编译时常量。
readonly用来声明运行时常量。
10、System.String
和System.StringBuilder有什么区别?
答:System.String是不可变的字符串。System.StringBuilder存放了一个可变的字符串,并提供一些对这个字符串修改的方法。
11、请在C#中举例说明new关键字可用于那些方面?
答:在C#中,new关键字可用作运算符或修饰符。作为运算符用于在堆上创建对象和调用构造函数。作为修饰符用于隐藏基类成员的继承成员。
12、sealed关键字的作用是什么?什么情况需要使用sealed关键字?
答:sealed修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。
13、在C#中,哪些关键字可以用于版本控制?
答:override关键字和new关键字均可用于版本控制。
在C#中,默认情况下方法不是虚拟的。若要使方法成为虚拟方法,必须在基类的方法声明中使用virtual修饰符。然后,派生类可以使用override关键字重写基类中的虚拟方法,或使用new关键字隐藏基类中的虚拟方法。如果override关键字和new关键字均未指定,编译器将发出警告,并且派生类中的方法将隐藏基类中的方法。
14、分别写出下列语句执行的结果。
(1)Console.WriteLine("{0}--{0:p}good",12.34F);
(2)Console.WriteLine("{0}--{0:####}good",0);
(3)Console.WriteLine("{0}--{0:00000}good",456);
答:执行结果分别为:
(1)12.34--1,234.00%good
(2)0--good
(3)456--00456good
15、C#中的数组类型有何特点?
答:C#中的数组类型的特点包括:
(1)
数组一般用于存储同一种类型的数据,包括Object类型。
(2) 数组是一种引用类型,而不是值类型。
(3)
C#中除了可以有一维数组、多维数组外,还有交错型数组。
16、错误和异常有什么区别,为什么要进行异常处理,用于异常处理的语句有哪些?
答:错误是指在执行代码过程中发生的事件,它中断或干扰代码的正常流程并创建异常对象。当错误中断流程时,该程序将尝试寻找异常处理程序(一段告诉程序如何对错误做出响应的代码),以帮助程序恢复流程。换句话说,错误是一个事件,而异常是该事件创建的对象。
当使用短语“产生异常”时,表示存在问题的方法发生错误,并创建异常对象(包含该错误的信息及发生的时间和位置)来响应该错误。导致出现错误和随后异常的因素包括用户错误、资源失败和编程逻辑失败。这些错误与代码实现特定任务的方法有关,而与该任务的目的无关。
如果不进行异常处理,即不对错误做出响应,程序的健壮性就会大打折扣,甚至无法保证正常运行,所以必须要进行异常处理。
用于异常处理的语句有:try-catch语句、try-catch-finally语句、throw语句。
17、C#中不同整型之间进行转换的原则是什么?
答:在整型之间进行转换时,小范围类型可以隐式转换为大范围类型,但大范围类型转换为小范围类型时需要使用显式转换。
18、简述装箱和拆箱的过程。
答:装箱是将值类型隐式地转换为object类型或者转换为由该值类型实现了的接口类型。装箱一个数值会为其分配一个对象实例,并把该数值拷贝到新对象中。拆箱是显式地把object类型转换成值类型,或者把值类型实现了的接口类型转换成该值类型。
19、什么是命名空间?命名空间和类库的关系是什么?
答:名称空间是对类的一种逻辑上的分组,即将类按照某种关系或联系划分到不同的名称空间下。
名称空间又可以包含其它的名称空间,例如System.Windows.Forms,是指System名称空间下有Windows名称空间,Windows名称空间下有Forms名称空间。
20、可以用C#编写哪些类型的应用程序?
答:控制台应用程序,Windows应用程序,水晶报表应用程序,ASP.NET Web应用程序,ASP.NET Web服务应用程序,ASP.NET
水晶报表Web应用程序和智能设备应用程序等。
分享到:
相关推荐
C#面试题 包括 ADO.net 多线程等 C#面试题 包括 ADO.net 多线程等 C#面试题 包括 ADO.net 多线程等 C#面试题 包括 ADO.net 多线程等 C#面试题 包括 ADO.net 多线程等
C#面试题100例 本资源提供了100多个C#面试题,涵盖了C#语言的各个方面,包括ASP.NET、委托、事件、索引器、排序算法等。这些题目可以帮助开发者更好地理解C#语言的特性和使用方法,并提高面试的通过率。 1. ASP...
C# 面试题大总结 本资源摘要信息涵盖了 C# 面试题的方方面面,涵盖了 XML、XSD、XSL、J2EE、Persistent Object、加密算法、设计模式、架构设计、测试等多个方面的知识点。 XML、XSD、XSL 在面试题中,我们可以...
C#面试题可能涉及以下几个方面: 1. **基础语法**:包括变量、数据类型、控制流(如if语句、switch语句、循环)、函数、类与对象等。理解这些概念是成为合格C#程序员的基础。 2. **面向对象编程**:封装、继承、...
C#面试题大全(含答案) 本资源提供了C#面试题大全,涵盖了C#语言的基础知识、 ASP.NET框架、ADO.NET、XML等多方面的知识点。下面是对每道题目的详细解释: 1. 在对SQL Server 数据库操作时应选用(a)SQL Server ...
这份“C#面试题集”包含了多个C#编程中的关键知识点,涵盖了C#语言的多个方面,包括类与对象、数据类型、事件、异常处理、数据库操作、网络编程、系统编程等。以下是详细知识点的解析: 1. C#基础知识与语法 - C#...
【C#面试习题解析】 在C#编程语言中,面试常常会涉及到面向对象的三大特性:封装、继承和多态。这些概念是理解任何面向对象编程语言的基础,也是C#设计的核心原则。 1. **封装**:封装是面向对象编程的基础,它...
C#面试题详解 C#是一种现代、通用、面向对象的编程语言,广泛应用于Windows应用程序开发、高性能服务器应用程序开发、游戏开发、移动应用程序开发等领域。掌握C#语言是每一个.net开发者的必备技能,本文将为您提供...
10套C#面试题(几乎包含所有C#知识,含asp_.rar10套C#面试题(几乎包含所有C#知识,含asp_.rar10套C#面试题(几乎包含所有C#知识,含asp_.rar10套C#面试题(几乎包含所有C#知识,含asp_.rar10套C#面试题(几乎包含...
C#面试题集锦 在这篇文章中,我们将讨论一些常见的C#面试题,并提供解答。这些问题涵盖了C#的基本概念、类和接口、结构体、异常处理、集合等方面。 1. const和readonly的区别 const和readonly都是用于定义常量的...
全部都是面试的宝典; c# asp.net .net .net面试题 c#面试题 c# asp.net .net .net面试题 c#面试题
C# 面试习题大全 本文档汇总了 C# 面试中常见的习题和知识点,涵盖了字符串、虚方法、抽象方法、抽象类、接口、ADO.net 等多个方面。以下是对每个知识点的详细解释: 1. String str = new String("a") 和 String ...
【C#面试题详解】 1. **Property与Attribute的区别**: Property是C#中用于封装类内部数据的访问机制,提供了一种控制对私有字段的访问方式,它可以带有getter和setter方法,确保数据的安全性。Attribute则是一种...
以下是我根据"自己整理的C#面试题"这个主题,结合C#的基础知识和常见面试题,为你详细解析的一些关键知识点: 1. **基础语法**:C#语法与C++和Java类似,但更注重安全性。包括变量声明(如int、string、bool等)、...
十套C#面试题(几乎包含所有C#知识,含asp_net)比较经典!大家来试试
以下是一些基于C#面试题的详细知识点: 1. **基础语法**:C#是一种面向对象的语言,学习者需要理解类、对象、属性、方法、构造函数等基本概念。同时,了解访问修饰符(public, private, protected, internal)和...
"C#面试题知识点总结" 本文档总结了C#面试题的知识点,涵盖了C#的各个方面,包括ADO.NET、面向对象编程、字符串、ADO.NET数据访问、Visual Studio .NET项目设置、Windows表单应用程序、XML Web服务、ASP.NET窗体...
标题中的“最值得下载的C#面试题”表明这是一份包含了C#编程语言相关面试问题的资源,可能包括了各种难度级别的问题,适合准备C#程序员面试的人员使用。描述中提到了“.net基础概念题”,暗示了这份资料不仅涵盖C#...
这些知识点涵盖了C#的基础语法、面向对象特性、Web开发以及算法等多个方面,对于理解和解答C#面试题至关重要。通过深入学习和实践,开发者可以更好地掌握C#编程,从而在面试和实际工作中表现出色。
以下是对C#面试题中涉及的一些关键知识点的详细解释: 1. **new 关键字**:new关键字在C#中有多种用途。它可以用来创建对象并调用构造函数,如`new MyClass()`。此外,new也可以作为修饰符,用于隐藏继承自基类的...