课程
Ch01
Ch01
- 生成运行.NET应用程序和服务统称的是
.NET框架 - .NET框架包含两个主要组件,它们是
公共语言运行库和类库 Console.WriteLine("{0:D4}, {1:F4}",d1,d2)输出结果为0010, 123.4560D为输出十进制整数,不够位数左边补零,F为小数点后固定位数(四舍五入),不指定则默认两位C#是完全面向对象的语言.NET框架支持C#、C++、VB、python等多种语言C#程序通过解决方案和项目来进行组织- 命名空间类似于不同子目录下文件的划分形式,它是按照功能对类的一种
逻辑划分,不是物理存储位置上的分类。 - C#中的根命名空间是
SystemC#的源程序是通过项目进行组织的,使用解决方案资源管理器可以将各种不同类型的项目集成到一起,使其成为一个完整的应用程序。
Ch02
-
下列数据类型中,属于引用类型的是
数组整型 枚举类型 结构 -
~~
enum MyColor:byte{Red=0, Green=254, Blue, Yellow};~~错误的 -
隐式转换 : 无需显式指定,通常用于安全的类型转换,如从较小类型到较大类型
显式转换(强制转换): 需要显式指定,通常用于可能导致数据丢失或转换失败的情况
~~
double d2=123.4567; float f=d2;~~错误的 -
C#中既能退出循环又能跳出switch语句的是
break:退出最近的封闭语句(switch,while,do,for,foreach)continue:不再执行continue后面循环块内剩余的语句,直接进行下一次循环(用在while,do,for,foreach内部) -
将值类型变量转换成Object类型变量的操作是
装箱将Object类型变量转换成值类型变量的操作是拆箱
Ch03
-
C# 不支持类的多重继承,但支持接口的多重继承,一个类可以实现多个接口。
C#中可使用类实现单继承和多继承 -
自定义类可以是静态类 类的数据成员中,字段和属性是不一样的两种成员 字段可以是静态的,也可以是实例的
-
:false,字段是类中的成员,属于类或对象.字段就是局部变量而局部变量是方法中的局部变量,它们的生命周期和作用范围不同。
构造函数必须都是public的。 -
:false,字段的访问方式取决于字段的访问修饰符。字段的访问必须使用类名如果字段是实例字段(非静态),则必须通过类的实例来访问;如果是静态字段,可以通过类名直接访问。
-
:false。字段和属性的存储方式不同。字段是实际存储数据的地方字段和属性一样,都不占存储空间而属性是对字段的封装(访问器)。属性本身并不直接占用存储空间,除非它们背后有字段。
-
结构和类的构造相似 结构适合定义轻量级的对象
结构可以从其他结构继承结构是引用类型
Ch04
-
面向对象编程的原则中,
封装将内部实现细节和外在表现相分离,继承能够简化类的设计。 -
调用基类的数据成员使用
base关键词,表示当前对象的关键字是this -
用方法重写来实现多态时,基类方法前面使用
virtual关键字,扩充类同名方法前用override关键字声明。 -
抽象类中至少包含一个抽象成员
接口里面全部都是抽象成员抽象类和接口一样都不能直接被实例化~~
抽象类通常做一个类的基类,接口内的成员只能是方法。~~接口中不仅可以包含方法,还可以包含属性、事件和索引器。接口的成员只能声明(不能有实现,除非是 C# 8.0 及以后版本引入的默认实现)
抽象类可以声明成员并提供部分实现。抽象类中的方法可以有实现,属性、字段等也可以有实现。
-
new关键字的用法:用来创建对象 隐藏基类的数据成员
访问对象->通过调用基类的构造函数base
Ch05
- 使用Directory类提供的
Move方法可以实现文件的重命名操作GetFiles可以获取某个指定目录下的所有文件的名字 - 对文件进行操作时,使用
Encoding类表示字符编码的类型。 - File类提供的方法中,可以向文本文件中写入指定的字符串的是
WriteAllText方法
Ch06
-
用Frame控件承载WPF Page时,需要设置该控件的哪个属性指定要导航的页
Source -
Margin描述4个方向的外边距,顺序为左、上、右、下 -
设置WPF窗口的哪个属性可以让一个窗口拥有另外一个窗口 ->
Owner -
下列WPF控件中,不属于Content内容模型的控件是~~
TextBox~~ (属于的是Label Button CheckBox Image) -
在WPF应用程序中,要弹出一个窗口,必须先创建该窗口类的实例,再调用该实例提供的方法将其显示出来。
如要创建“模式”窗口,需调用的方法是
ShowDialog() -
在关闭WPF窗口之前引发,并且能阻止窗口关闭的事件是
Closing -
WPF页通常使用哪个控件进行承载WPF Page,具体实现时只需设置该控件的Source属性就可以了->
Frame
Ch07
- 布局控件中采用绝对定位布局方式的是
Canvas唯一 ListBox控件的内容模型属于以下哪种内容模型ItemsGrid控件采用动态定位布局方式TextBox支持单行和多行内容的显示GroupBox控件内可以直接添加很多WPF控件GroupBox只能包含一个子元素 , 表示一个控件,该控件用于创建具有用户界面 (UI) 内容边框和标题的容器。Text内容模型:TextBox PasswordBox- 定义一个区域能够使该区域内的子元素在其上,下,左,右各边缘按水平或垂直方式依次停靠的布局控件是
DockPanel
Ch08
-
在单独XMAL文件中的定义样式,并能够实现重复使用的是
资源字典 -
利用数据模板可以将控件和数据源自动绑定在一起
如要实现就需要借助
Binding类将目标的附加属性和数据源的值绑定在一起。 -
在Grid内部定义XAML资源时,需要在Grid的
Resources属性中进行定义。 -
XMAL资源分为
静态资源和动态资源两种,前者是生成项目后属性值不会再变化的资源这种资源引用时使用
StaticResource标记引用。
Ch09
-
LINQ语句以
from子句开头。 -
LINQ语句中,能够实现按某个属性升序或者降序排列的子句是
order by -
在实体框架中,先创建数据库而后再创建实体数据模型的开发方式是
数据库优先 -
LINQ进行查询操作时,数据源的种类可以有哪些:
数组XML文件数据库泛型集合 -
在实体数据上文对象的Database属性调用
SqlQuery方法执行sql查询调用
ExecuteSqlCommand方法执行增、删、改等SQL语句。
FinalExam
-
下列选项中不属于面向对象编程三大原则的是
(抽象封装,继承,多态) -
~~
C#中的虚拟方法不可以是静态方法,但是它可以为private方法。~~C# 中的虚拟方法不能是静态方法,也不能是 private 方法。虚拟方法需要被子类重写,因此必须是可继承的(如 public 或 protected),且不能是静态的。 -
即使在
try语句中使用跳转语句(例如return、break或continue),finally语句仍然会被执行。finally语句的目的是确保资源的清理操作始终执行,不受异常或跳转语句的影响。 -
C# 语言采用的是
Unicode编码,而不是ASCII编码。Unicode可以表示更多的字符集,支持多语言字符,而ASCII仅支持英文字符。 一个应用程序必须有一个类包含Main方法。 -
值类型保存在栈上,引用类型保存在受管制的堆上 值类型保存实际的数据,引用类型保存指向实际数据的地址 栈用于存储局部变量和函数调用的参数,而堆用于存储由
new操作符创建的对象。值类型一般占用较少的内存,因此执行效率较高。引用类型需要分配堆内存,相对较多,且访问时需要间接寻址,因此执行效率较低。
值类型通常不需要由垃圾回收机制负责回收,因为它们通常保存在栈上,栈内存由系统自动管理。而引用类型需要由垃圾回收机制负责回收,因为它们存储在堆上,堆内存需要手动或者由垃圾回收器管理。
-
值类型:
结构引用类型:类,接口,数组 -
接口用于定义一组方法签名,它本身不能直接实例化,通常由类实现并创建实例。
类的实例在内存中分配的是堆内存,类的对象变量存储的是指向堆中实际数据的引用。
在 C# 中,数组是对象类型,它存储的是对数组数据的引用,而不是直接存储数据本身。
结构(
struct)直接存储数据值,并且通常存储在栈上。结构实例的变量保存的是实际数据,而不是数据的引用。 -
设A为已定义的类,则下列代码的运行结果为
A a1 = new A(); A a2 = new A(); Console.WriteLine(a1 == a2);False,==操作符用于比较对象时,默认比较的是对象的引用地址(即对象在内存中的位置),而不是对象的内容。如果希望比较对象的内容是否相等,需要重写类A的Equals方法并在其中定义如何比较对象内容。 -
不属于WPF中的事件路由使用的策略的是~~
间接~~,(冒泡,隧道,直接) -
在 LINQ 查询表达式中,定义LINQ查询表达式时,可以同时设置select字句和group字句。select和group不能同时使用在同一个查询中。group用于分组操作,通常与select配合使用来选择每个分组的元素,但它们的使用逻辑是分开的。一个查询只能选择是分组查询(使用group by)还是普通查询(使用select)的一种方式。 -
,WPF应用程序没有Main方法,直接通过App.xaml运行。App.xaml中实际上会包含对Main方法的调用。 -
XAML也可以WPF控件只能用C#代码来进行创建。 -
设置WPF窗口的哪个属性可以实现窗口的关联:
Owner -
使用实体数据上下文类的对象修改数据库时,不能使用SQL语句进行修改。 -
直接在元素的开始标记内用特性语法声明的元素样式是
内联式 -
在使用Style定义样式时,使用哪个特性可以指定样式适用的控件类型
TargetType -
抽象类可以包含抽象方法(没有实现的),也可以包含具体实现的方法。抽象方法没有方法体,需要在派生类中实现,但抽象类本身可以包含已实现的方法。抽象类中所有的成员必须都是抽象成员。 -
不能访问基类中的私有成员。如果需要访问数据成员,通常需要使用类的继承可以简化扩充类的设计,最重要的是可以使扩充类继承基类中所有的数据成员。protected或public访问修饰符。 -
调用以下哪个方法打开WPF窗口,可以以模态的形式出现
ShowDialog -
命名空间是按照功能对类的一种逻辑划分 命名空间可以包含子命名空间 引用命名空间使用using关键字
-
还可以包含其他类型,如枚举类型、结构体、委托等命名空间下面只能包含类,不能包含枚举类型和结构 -
利用哪种WPF事件路由策略,可以在WPF父元素上一次性为子元素注册事件
冒泡事件从事件源元素开始,向父元素传递,直到根元素。在父元素上注册事件时,可以捕获子元素发出的事件。通过冒泡事件,父元素可以一次性为其所有子元素注册事件处理程序.例如,如果你在一个容器(如StackPanel)上注册事件处理程序,那么当容器中的任何子元素触发该事件时,事件将冒泡到父容器,你可以在父容器上捕获并处理该事件。 -
下列WPF控件中,内容模型属于Children内容模型的控件是
StackPanel -
下列赋值语句中,不正确的是
float d=3.78;float类型的变量d需要一个后缀f来明确表示它是一个float类型的值,而不是double类型。3.78默认是double类型 -
WPF的窗口隐藏之后,还可以调用Show方法再次打开。 关闭后的则不能
-
下列哪项不能用来承载WPF页~~
Grid~~ (可以的有:WindowFrameNavigationWindow) -
静态资源是指用下述那种标记扩展引用的资源
{StaticResource keyName} -
定义委托需要的关键字是
delegate -
获取ListBox控件当前选中项索引的属性是
SelectedIndex -
设置Image控件的哪个属性可以指定图像的拉伸方式
Stretch -
若要实现多继承,不能直接用类来实现,但是可以借助接口来实现。
-
扩充类中,可以在方法前添加new修饰符隐藏基类中同名的方法。
-
需要用户明确指定数据类型的转换是
显式转换系统默认的、不需要加以声明就可以进行的数据转换是隐式转换 -
类中使用get语句和set语句进行定义的数据成员是
属性 -
WPF布局控件中,能够实现按比例动态调整分配空间的控件是
Grid -
已知语句序列int x=3;Object o=x;该语句中出现的将值类型转换为Object类型的操作是
装箱 -
枚举成员的默认值是基于从零开始的整数递增。













