小蜜蜂笔记
嵌入式开发与物联网应用教育践行者

小蜜蜂的《C#应用与开发》/《C#程序设计》考前死磕概要

C#语法基础知识

  1. C#是一种运行在.NET Framework之上的高级程序设计语言。.NET Framework有两大组成部分:公共语言运行时CLR.NET框架类库FCL
  2. 进行.NET程序开发的最基本环境是:.NET Framework代码编辑工具(例如:记事本)。
  3. 程序调试过程中常见的错误类型有三种:语法错误逻辑错误运行时错误
  4. 在C#程序中,Main()方法是程序调试和运行的入口,注意,首字母必须大写
  5. 程序运行时,数据存储所需要的内存空间由数据类型来决定。
  6. C#中的数据类型可以分为值类型引用类型两大类,值类型存储在栈内存中,引用类型存储在堆内存中。
  7. 常见的值类型有:bool、char、byte、int、float、double、decimal、structenum
  8. 常见的引用类型有:object、string、class、array。
  9. foreach语句用于遍历访问整个集合或数组,并针对各元素执行内嵌语句。
    要求理解并掌握foreach语句的用法。
  10. C#语言的异常处理语法形式是:
    try { …… }
    catch (异常类型 标识符) { …… }
    finally { …… }
    如果执行try语句块出现异常,则转向相应的catch语句块,执行完catch语句块后再去执行finally语句块。finally语句块主要用来释放资源,它总是在离开try语句块后执行的,而且finally语句块中程序是必须执行的
  11. 数组是一种有序的、能够存储多个相同类型变量的集合。在C#中,通过数组名和数组元素的下标来引用数组的元素。
  12. 在C#中,通过new运算符创建数据并将数组元素初始化。
    如果要声明一个整形数组arry,数组有3个元素,分别是:1、2、3,其语法形式有下面4种:
    <1> int[] arry = new int[3]{1,2,3};
    <2> int[] arry = new int[]{1,2,3};
    <3> int[] arry = {1,2,3};
    <4> int[] arry;
    arry = new int[]{1,2,3};
  13. 枚举类型是一种轻量级的值类型,使用enum关键字定义,用来表达一组特定的值的集合行为。在枚举中的每个成员实际上是一个符号常数
  14. String对象是只读的,一旦创建了该对象,就不能修改它的值。有些方法表面上看来能够修改String对象,但实际上他们返回的是,根据所调方法修改而创建新的String对象。
    掌握String类中有关字符串的常用方法

面向对象程序设计基础

  1. 面向对象编程中,大多数都是以作为数据封装的基本单位。从编程语言的角度看,类就是一种数据结构,它定义了数据操作这些数据的代码。
  2. 默认情况下,类的访问修饰符是internal,类成员的访问修饰符是private
  3. 构造函数是用来在创建对象时进行初始化操作的特殊方法。
    构造函数的命名必须和类名完全相同;每个类至少有一个构造函数;一个类可以有多个构造函数重载;构造函数不包含任何返回值,也不能用void来修饰。
  4. 析构函数是用于执行清除操作的特殊方法。
    析构函数的命名必须与类名相同,为了区分构造函数,前面加“~”;一个类只能有一个析构函数;析构函数不能重载;析构函数不能写返回类型,也不能带参数;析构函数不能由程序显示地调用,而由系统在释放对象时自动调用。
  5. 静态成员,是使用访问修饰符static定义的类成员,包含静态字段和静态方法。用于解决类的所有对象数据共享的问题。静态成员属于整个类所有,而非静态成员属于对象。在类体外引用静态成员,应使用:类名.静态公有成员
  6. 在C#语言中,属性可以把字段域和访问它们的方法相结合,使类能够以一种公开的方法获取和设置值,同时隐藏实现的代码。
  7. 面向对象的三大特征:封装继承多态
  8. 派生类可以访问基类的非private成员,即public和protected成员。
    其中,protected访问修饰符表示该方法只可以在它的类内部或派生类中被访问。
  9. 当派生类有方法和基类的方法出现签名相同的情况下,基类的方法将会被隐藏
  10. 在默认情况下,C#中的方法都是非虚拟的,不能重写,要重写就必须显式地声明为virtual
  11. 使用override进行方法重写时要注意:
    被重写的方法必须是virtual、abstract或override;子类重写的方法必须和父类的虚方法的原型完全相同;override不能改变基类虚方法的访问权限;可以通过base调用继承的基类中的虚方法。
  12. 多态性分两种:编译时的多态性和运行时的多态性。编译时的多态性是通过方法重载来实现的;运行时的多态性是通过方法重写来实现的。
  13. 抽象类是一种特殊的基类,它并不与具体的事物相联系,只能作为其他类的基类,不能被实例化,只能被继承。对于抽象类,在派生类中不能直接调用基类的成员。抽象成员只能包含在抽象类里面。

Windows窗体程序设计基础

  1. 窗体是Windows应用程序的基本单元。
    Form类是所有窗体类的基类。设置窗体基本的组成元素,如图标、标题、位置、背景等,既可以通过窗体的属性面板来完成,也可以通过代码(编程)实现。
  2. 当窗体被首次显示时,将发生Load事件;在窗体上按下然后释放一个鼠标按钮时,会触发Click事件;在窗口正要关闭但还没有关闭之前,会触发FormClosing事件;当窗体被用户关闭时则发生Closed事件
  3. Control类定义了控件类的共同属性、方法和事件,规范了控件的基本特征,是所有控件的基类。
  4. Label控件主要用于显示不能编辑的文本,标识窗体上的对象。
  5. 用户单击Button控件时会触发Click事件。
  6. TextBox控件用于获取用户的输入数据或者显示文本,可以显示多行,也可以设置为只读控件,对于敏感信息,可以将文本设置成密码字符。
  7. ComboBox控件结合了TextBox控件ListBox控件的功能,用于在下拉组合框中显示数据。
  8. NumericUpDown控件是一个显示和输入数值的控件,通过其Value属性,可以获取控件中显示的数值。
  9. RadioButton控件为用户提供由2个或多个互斥选项组成的选项集,通过其Checked属性的值来判断单选按钮是否被选中,当该控件的Checked属性发生变化时,会触发CheckedChanged事件
  10. CheckBox控件的CheckState属性发生变化时,就会触发CheckedStateChanged事件
  11. MessageBox类是封装消息对话框,该类只提供一个Show() 方法 ,用来把消息对话框显示出来。此方法提供了21个不同的重载版本,可以根据自己的需要设置不同风格的消息对话框。
  12. 用户要浏览或选择要打开的文件,可以使用选择文件的OpenFileDialog组件SaveFileDialog组件则显示一个预先配置的对话框,可以使用该对话框将文件保存到指定位置。
  13. FontDialog组件中的颜色选项要通过设置ShowColor属性才会显示出来,而Font属性则是用来获取或设置选定的字体。
  14. Timer组件可以按照用户指定的时间间隔来触发事件,时间间隔的长度有Interval属性来定义,以毫秒为单位。
    如果启动该组件,则每个时间间隔会触发一次Tick事件
  15. DateTime.Now.ToString():使用指定的格式和区域性特定格式信息将DateTime对象的值转换为它的等效字符串形式。
    DateTime.Now.ToString(“yyyy-MM-dd”);
    DateTime.Now.ToString(“yy-MM-dd ddd”);
    DateTime.Now.ToString(“hh:mm:ss”);
    DateTime.Now.ToString(“HH:mm:ss”);
  16. PictureBox控件是用于显示图像的Windows图片框控件,其用来显示图片的Image属性是Image类型的。
    掌握Image类中两个常用的方法。
  17. ImageList控件用于存储图形资源,实际上相当于一个图片集,将多个图片存储到图片集中,每个单独的图像可以通过其索引值或其键值来访问。
  18. RichTextBox控件用于显示、输入和操作带有格式的文本,允许用户输入和编辑文本的同时,进行更高级的格式处理。

ADO.NET数据访问基础

  1. ADO.NET是用户的应用程序数据源之间沟通的桥梁,主要提供一个面向对象的数据访问架构。其用于访问和操作数据的两个主要组件是:.NET Framework数据提供程序DataSet
  2. ADO.NET主要有5个核心对象
    Connection对象、Command对象、DataReader对象、DataSet对象、DataAdapter对象。
    DataSet对象将数据库中的数据复制一份放到了本地的内存,相当于在内存中创建了一个小型关系数据库。
  3. 所有对数据库的访问操作都是从建立数据库连接开始的,在打开数据库之前,必须先设置好连接字符串
  4. 连接字符串由分号隔开的名称组成,它告诉ADO.NET数据源在哪里,需要什么样的数据格式、提供什么样的访问信任级别以及其他任何包括连接的相关信息。
    在连接字符串中,需要提供的必要信息包括服务器的位置数据库的名称和数据库的身份验证方式
  5. 使用Connection对象与数据源建立连接后,可用Command对象对数据源执行增、删、查、改等操作,操作的实现方式可以是使用SQL语句,也可以是使用存储过程。
  6. 掌握Command对象的三个属性
    Connection属性、CommandText属性、CommandType属性。
  7. 掌握Command对象的三个方法
    <1>ExecuteNotQoery():用于执行非SELECT命令,返回命令所影响的行数。
    <2>ExecuteScalar(): 用于执行SELECT查询命令,返回第一行第一列的值。
    <3>ExecuteReader(): 执行SELECT查询命令,并返回一个DataReader对象。
  8. DataReader对象是一个简单的数据集,只允许以只读、顺向的方式查看所存数据,该对象不能直接使用构造函数实例化,必须通过Command对象的ExecuteReader()方法来生成。如果要获取当前记录的下一行数据,可以调用Read()方法,当读取到集合中的最后一行数据时,Read()方法返回false。
  9. DataAdapter对象是一种用来充当DataSet对象与实际数据源之间桥梁的对象,专门为DataSet服务。
    DataSet是一个非连接对象,与数据源无关,而DataAdapter则负责填充它。通过DataAdapter对象的Fill()方法填充DataSet,使用Update()方法,可以将DataSet中修改过的数据及时地更新到数据库中。
  10. DataGridView数据表格控件,可以显示和编辑来自多种不同类型的数据源的表格数据。将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需要设置DataSource属性即可。

综合题视频01:面向对象程序设计

【1】面向对象编程基础
设计一个手机类CellPhone,实现以下的功能。
<1> 定义1个私有的string型字段number,保存本机号码。
<2> 设计1个构造函数,在实例化对象的时候将本机号码初始化。
<3> 设计2个方法,通过参数个数不同实现重载,方法名为:Operating(),分别实现打电话和发短信。
<4> 打电话的方法需要1个string类型参数,作为对方的手机号码,在方法
里面打印输出:“XXX给XXX打电话。”
<5> 发短信的方法需要2个string类型参数,作为对方的手机号码和短信内容,在方法里打印输出:“XXX个XXX发短信,内容为:XXX”。

【2】面向对象编程应用。
设计一个计算圆形和矩形周长的类,类名为:Girth。
<1> 定义一个私有的double型常量PI,取值3.14;定义一个私有的string型字段type。
<2> 定义2个私有的double型的字段,名称为:yuanxing, juxing。
<3> 设计2个构造函数,在构造函数中,根据输入的参数进行周长的计算, 圆周结果保存在yuanxing字段中,矩形周长保存在juxing字段中,并将“圆形”或“矩形”赋值给type字段。
<4> 设计一个显示计算结果的方法ShowResult(),使用switch-case语法
对type字段进行类型判断,根据构造的对象不同,输出打印相应的结果:“XXX的周长为XXX”。

【3】面向对象编程进阶。
设计一个抽象基类Person。
<1> 里面有string类型的姓名属性Name和int类型的年龄属性Age。
<2> 定义一个带参数的构造函数,在实例化对象时给这两个属性赋值。
<3> 该类有一个抽象方法Working()。
设计一个教师类Teacher,继承于基类Person。
<1> 除了姓名和年龄之外,还有string类型的任教科目属性Subject。
<2> 该类的构造函数也继承于基类,在实例化对象时候给这3个属性赋值。
<3> 重写Working()方法,打印输出“XXX老师在上XXX课”。
设计一个学生类Student,继承于基类Person。
<1> 除了姓名和年龄之外,还有string类型的学号属性Number。
<2> 该类的构造函数也继承于基类,在实例化对象时候给这3个属性赋值。
<3> 重写Working()方法,打印输出“学号为XXX的学生XXX在听课”。

综合题视频02:Windows窗体应用程序设计

【1】Windows程序设计基础
设计一个教务系统登录界面,如图所示,实现以下功能。

<1> 用户名的输入字符最大长度为10, 密码输入用“*”作为密文掩码。
<2> 用户类型有“老师”和“学生”两种,默认为“学生”。
<3> 验证码正确才允许做登录处理,否则弹出对话框,提示:“验证码错 误,请重新输入!”。
<4> 假设老师和学生分别用不同的密码登录,老师的登录密码为“admin”,保存在变量passwd_t中,学生的登录密码为“123456”,保存在passwd_s中。
<5> 登录成功后,弹出一个显示“欢迎XXX老师登录系统”或“欢迎XXX同学登录系统”,对话框;密码错误将登录失败,弹出对话框显示“您的密码错误!”。

【2】Windows程序设计进阶
设计一个Windows窗体应用程序,实现以下功能。

<1> 添加1个多格式文件控件RichTextBox和3个按钮控件Button。
<2> 三个Button分别为:“打开文本”、“修改字体”和“插入图片”。
<3> “打开文本”按钮:给文件对话框加上标题“打开文本文件”,筛选器设置为“文本文件(.txt)”和“所有文件(.*)”,在将文本文件装载到控件之前,将控件原有的内容清空。
<4> “修改字体”按钮:将字体对话框的颜色选项显示出来,修改选择内容的字体和颜色。
<5> “插入图片”按钮:设置文件对话框将JPG图片和BMP图像筛选出来,并选择合适的图片插入到控件之中。

【3】Windows程序设计应用。
设计一个XXX公司食堂电子菜单,如图所示,实现以下功能。

<1>
添加2个GroupBox控件,作为菜单组和饮品组。
<2> 为窗体添加Load事件响应方法,对各个控件进行必要的初始化。
<3> 添加ComboBox控件,并在窗体Load事件响应方法中添加“A套餐”和“B套餐”的选项,并为其添加一个SelectedIndexChanged事件响应方法,套餐发生变化时,菜单也相应变化,并默认选择第一项。
A套餐:米饭、上汤菜心、蜜汁叉烧
B套餐:汉堡、烤鸡翅、沙拉水果
<4> 饮品为单选,有“可乐”和“红茶”两种选择,系统启动默认选择“可乐”。
<5> 按下“确认下单”按钮之后,把用户选择的菜单和饮品形成一个电子菜单,显示在左下方的Lable标签处。

综合题视频03:ADO.NET数据访问程序设计

【1】查询数据表中有多少条记录。
假设在“STU33”服务器中有一个名为“学生成绩”的数据库,先建立“学生成绩”数据库的连接,再查询“student”数据表中的记录。
SQL语句: select count(*) from student
程序设计思路:
<1> 定义数据库连接字符串。
<2> 实例化SqlConnection对象,并进行数据库连接。
<3> 实例化SqlCommand对象,设置其三个属性。
<4> 调用ExcuteScalar()方法,查询数据表,返回数据表的记录数。

【2】查询数据表显示到DataGridView。
成功连接“STU33”服务器中的“学生成绩”数据库后,查询数据库中“student”数据表的所有数据并显示到DataGridView控件上。当鼠标点击单元格的任何位置时,把该行的“姓名”和“分数”显示到两个只读文本框中。

<1> 自定义一个“student”的 数据表,里面有5列,要 包含“姓名”和“分数”两项。
<2> 数据库连接字符串的参数来自文本框的输入。
<3> 添加一个鼠标单击单元格任何部分的事件CellClick,在该事件处理中,读取当前行的“姓名”和“分数”。

试卷结构:
选择题:2分 × 20题 = 40分
填空题:2分 × 10空 = 20分
综合题:15分 + 12分 + 13分 = 40分

赞(82)
未经允许不得转载:小蜜蜂笔记 » 小蜜蜂的《C#应用与开发》/《C#程序设计》考前死磕概要

小蜜蜂笔记 更专业 更方便 更高效

联系我们精品小店