C#简答题集锦问题1:什么是算法?算法应包括哪两部分?答:所谓算法,是指为解决一个问题而采取的方法和步骤,或者说是解题步骤的精确描述。算法应包括设计算法和执行算法两部分。问题2:结构化程序设计的特征是什么?答:结构化程序设计方法从编程思想上要求自顶向下,逐步求精;从程序的具体结构上要求程序是模块化的,要求程序代码由顺序结构、选择结构和循环结构三种基本结构组成,复杂的结构应该由基本结构进行组合嵌套来实现,整个程序或程序中的模块或控制结构只有一个入口和一个出口。问题3:面向对象程序设计的特征是什么?答:面向对象的程序设计(OOP)通过类、对象、继承、多态等机制形成一个完善的编程体系。OOP将程序设计中的数据与对数据的操作作为一个不可分割的整体,通过由类(Class)生成的对象来组织程序。对象包含属性(Property)与方法(Method),能识别和响应一定的事件(Event)。问题4:对象的方法与对象的事件方法有何异同?答:相同之处:两者都是用一段代码完成特定的功能。不同之处:事件方法代码是由用户添加的,事件方法由事件的发生而被自动调用;对象的方法代码是系统预定义的,对用户是隐藏的,不可见的,而且对象的方法必须在代码中调用。问题5:VisualStudio.NET框架通过什么机制生成应用程序?答:VisualStudio.NET框架是用于生成、部署和运行应用程序的多语言环境。VisualStudio.NET框架通过公共语言运行库(CLR)、VisualStudio.NET框架类库、Microsoft中间语言(MSIL)、JIT即时编译等机制生成应用程序。问题6:C#集成开发环境中主要有哪些窗口?答:C#集成开发环境中主要有起始页、设计器视图与代码视图、解决方案资源管理器与类视图、工具箱与服务器资源管理器、属性与动态帮助等。问题7:简述按钮、标签和文本框控件的作用。答:按钮控件常用来接收用户的操作信息,激发相应的事件,按钮是用户与程序交互的最简便的方法。标签控件的主要功能是输出信息,可以用来标识其他无法显示标题的控件。文本框控件用于数据的输入与输出,文本框中的文本在程序运行时,可以被用户编辑。问题8:命名空间有什么作用?答:命名空间既是VisualStudio.NET提供系统资源的分层组织方式,也是分层组织程序的方式。命名空间有两种:一种是系统命名空间,一种是用户自定义命名空间。问题9:C#中定义了哪几种基本数据类型?答:C#中根据数据的性质可以分为四类,即数值型数据、字符型数据、逻辑型数据和对象型数据。问题10:简述变量的命名规则。答:C#中,变量命名规则如下:①变量名的第一个字符必须是字母(包括汉字)或下划线,其余字符必须是字母(包括汉字)、数字或下划线。②变量名不能是C#的关键字或库函数名。问题11:C#共有几种表达式?根据什么确定表达式的类型?答:C#中,基本表达式有6种:算术表达式、字符串表达式、关系表达式、逻辑表达式、条件表达式和赋值表达式。表达式的类型由运算符的类型决定。问题12:图片框(PictureBox)控件可以通过哪两种途径获取图片文件?答:可以通过创建一个Bitmap实例并将它赋值给PictureBox控件的Image属性来实现图片显示,也可以通过Image类的静态方法FromFile获取图像文件,并将它赋值给PictureBox控件的Image属性来实现图片显示。问题13:标签如果要显示图片列表框控件中的图片,需要设置什么属性?答:标签如果要显示图片列表框控件中的图片,需要设置ImageList属性与ImageIndex属性。ImageList属性用于指定标签所使用的图片列表,ImageIndex属性用于指定显示图片列表中的第几张图片。问题14:switch语句控制表达式可以是哪几种数据类型?答:switch语句控制表达式所允许的数据类型为:整数类型、字符类型、字符串类型,或者枚举类型,以及能够隐式转换成上述类型的其他类型。问题15:单选按钮与复选框控件各有什么作用?答:单选按钮(RadioButton)为用户提供从多个选项中选择一个选项的功能,因此单选按钮是一种“多选一”的控件,这种控件一般都是成组使用而不单独使用。复选框(CheckBox)可以同时选中多个选项,也就是说用户可以在窗口中同时选中多个复选框。问题16:分组框控件的功能是什么?答:分组框(GroupBox)控件是一种容器类控件,在分组框控件内部的控件可以随分组框一起移动,并且受到分组框控件某些属性(Visible、Enabled)的控制。分组框控件用于将功能类似或关系紧密的控件分成可标识的控件组,而不必响应分组框控件的事件。问题17:列表框和组合框的外观和功能有什么区别?答:在列表框中,任何时候都能看到多个项,而在组合框中,一般只能看到一个项,用鼠标单击其右侧的按钮可以看到多项的列表,可以将组合框理解成一个折叠起来的列表框,列表框只能进行选择,组合框除了具有列表框的选择功能外,也可以进行键盘输入。问题18:计时器控件的功能是什么?答:计时器(Timer)控件是一种无需用户干预,按一定时间间隔周期性地自动触发事件的控件,一般用来检查系统时间,判断是否该执行某项任务,也可以用于后台处理。问题19:简述值类型与引用类型的区别。答:值类型变量直接包含其本身的数据,因此每个值类型变量本身就包含有赋给它的值。与值类型不同,引用类型变量本身不包含数据,只是存储对数据的引用,数据保存在内存的其他位置。问题20:最常用的访问控制有哪些?答:类定义中最常用的访问控制有public、private与protected。如果成员被声明为private或protected,则不允许在类定义外使用点运算符访问,即在类定义外,点运算符只能访问public成员。如果不涉及继承,private与protected没有什么区别。问题21:什么是类的继承性?怎样定义派生类?答:类的继承性是指一个类定义既可以具有其他类的数据成员、属性成员、方法成员等,也可以使其他类具有自己的数据成员、属性成员、方法成员等。在类的继承中,被继承的类叫基类或父类,继承的类叫派生类或子类。派生类定义的语法格式通常为:pulbicclass派生类名称:基类名称{类体}问题22:基类中的字段通常使用什么类型的访问修饰符,为什么?答:在类的继承中,作为基类的数据成员通常使用protected修饰符,而不使用private修饰符。因为如果在基类中使用private修饰符声明数据成员,则其成员将不允许派生类成员访问,而使用protected修饰符,既能保证数据成员不被直接访问,又允许其派生类成员访问。问题23:什么是密封类和密封方法?定义密封类和密封方法用什么关键字?答:密封类是不允许其他类继承的类。密封方法是不允许在派生类中重载的方法。定义密封类和密封方法需要使用sealed关键字。问题24:什么是多态性?多态性的作用是什么?答:多态性就是指在程序运行时,执行的虽然是一个调用方法的语句,却可以根据派生类对象的类型不同完成方法的不同的具体实现。在类的继承中,C#允许在基类与派生类中声明具有同名的方法,而且同名的方法可以有不同的代码,也就是说,在基类与派生类的相同功能中可以有不同的具体实现,从而为解决同一问题提供多种途径。问题25:怎样声明基类虚方法,并在派生类中重载基类虚方法?答:要实现继承的多态性,在类定义方面,必须分别用virtual关键字与override关键字在基类与派生类中声明同名的方法。注意:基类与派生类中的方法名称与参数列表必须完全一致。问题26:什么是数组?数组最适合在哪种情况下使用?答:在C#中,把一组具有同一名字、不同下标的下标变量称为数组。实际应用中,往往会遇到具有相同属性的一批数据,此时,应该考虑使用数组来管理或处理这些有规律的数据。数组是引用类型。问题27:自定义的数据类型包括哪些?他们有什么作用?答:自定义的数据类型包括结构与枚举,结构与枚举都属于值类型。结构类型可以用来处理一组类型不同、内容相关的数据。枚举类型是由用户定义的一组整型符号常量,使用枚举可以将一组相关的有限常量组织在一起,保证变量只能具有预定的值。问题28:实际应用中,菜单分为哪两种形式?C#中设计菜单使用哪两种控件?答:实际应用中,菜单分为主菜单和弹出式菜单(上下文菜单)。C#中设计菜单时,通常使用MainMenu控件实现主菜单设计,使用ContextMenu控件实现弹出式菜单的设计。问题29:简述文本文件与二进制文件的区别。答:文本文件中字节单元的内容为字符的代码,在二进制文件中,文件内容是数据的内部表示,是从内存中直接复制过来的。两者对于字符信息无差别,而对于数值信息,数据的内部表示和字符代码截然不同。二进制文件中的数据不需要进行转换,文本文件中的数据需要进行转换。问题30:简述已连接环境与非连接环境的区别与优缺点。答:已连接环境是指应用程序和数据库之间保持连续的通信,优点是能及时刷新数据库,安全性较高,缺点是需要固定的数据库连接,不宜多个用户共同使用同一个数据库,扩展性差。非连接环境是指应用程序要求能在与数据库断开的情况下进行操作,优点是应用程序可以随时连接到数据库获取相应的信息,缺点是获得的数据可能不是最新的,并且对数据更改时可能引发冲突,因为在某一时刻可能有多个用户同时对同一数据操作。问题31:何谓数据绑定技术?答:所谓数据绑定技术就是把已经打开的数据集中某个或者某些字段绑定到组件的某些属性上的一种技术,就是把已经打开的数据的某个或者某些字段绑定到TextBox、ListBox、ComboBox等组件能够显示数据的属性上,当对组件完成数据绑定后,其显示字段的内容将随着数据记录指针的变化而变化。