【大学课件】Visual C# 程序设计_第1页
【大学课件】Visual C# 程序设计_第2页
【大学课件】Visual C# 程序设计_第3页
【大学课件】Visual C# 程序设计_第4页
【大学课件】Visual C# 程序设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Visual C# Visual C# 程序设计程序设计 学习目标学习目标 了解什么是了解什么是.NET与与C# 熟悉集成开发环境熟悉集成开发环境(IDE) 学会使用学会使用C#创立、编译和执行简单创立、编译和执行简单.NET应用程应用程 序序 掌握掌握C#程序结构与书写格式程序结构与书写格式 使用控制台输入和输出。使用控制台输入和输出。 初步认识和了解窗体、控件、事件和方法。初步认识和了解窗体、控件、事件和方法。 重点与难点重点与难点 z熟悉集成开发环境熟悉集成开发环境(IDE) z学会在学会在IDE下,使用下,使用C#创立、编译和执行简单创立、编译和执行简单 的的.NET应用程序应用程序

2、z掌握掌握C#程序结构与输入、输出方法。程序结构与输入、输出方法。 内容索引内容索引 案例案例1 1 案例案例1涵盖知识点涵盖知识点2 案例案例1操作步骤、知识拓展操作步骤、知识拓展 3 案例案例2 1 案例案例2涵盖知识点涵盖知识点 2 案例案例2操作步骤、知识拓展操作步骤、知识拓展 3 案例案例1 案例案例2 .NET简介简介 1.1 .NET1.1 .NET框架与框架与C#C#简介简介 P2-3P2-3 z.NET Framework.NET Framework,.NET:.NET: z微软为开发应用程序而创立的一个强大的开发平微软为开发应用程序而创立的一个强大的开发平 台。可以开发出运

3、行在台。可以开发出运行在WindowsWindows上的几乎所有应上的几乎所有应 用程序。用程序。 z从程序员的眼光看从程序员的眼光看: : z.NET.NET是一组用于建立是一组用于建立WebWeb效劳器应用程序和效劳器应用程序和 WindowsWindows桌面应用程序的软件组件,用该平台建桌面应用程序的软件组件,用该平台建 立的应用程序在公共语言运行库立的应用程序在公共语言运行库Common Common Language Runtime,CLRLanguage Runtime,CLR的控制下运行。的控制下运行。 z.NET Framework.NET Framework具有两个主要组件

4、:具有两个主要组件: z公共语言运行库和公共语言运行库和.NET.NET框架类库。框架类库。 1.1.1 .NET1.1.1 .NET框架简介框架简介1.1.体系结构体系结构 各类效劳支持 .NET 框架 两个 重要 组件 各种应用程序 2.NET2.NET框架类库与公共语言运行库框架类库与公共语言运行库 z. NET 框架类库框架类库 z又称为根底类库,是预先编写好的程序代又称为根底类库,是预先编写好的程序代 码,提供数千个类、接口等工具供程序员码,提供数千个类、接口等工具供程序员 直接使用,可以使用它开发多种应用程序。直接使用,可以使用它开发多种应用程序。 z.NET支持的所有语言都能使用

5、类库,任何支持的所有语言都能使用类库,任何 语言使用类库的方式是一样的。语言使用类库的方式是一样的。 z公共语言运行库公共语言运行库CLR z负责管理用负责管理用.NET框架类库开发的所有应用框架类库开发的所有应用 程序的运行。程序的运行。 C# C/C+Python 第一次编译第一次编译 编译器编译器 C# 编译器编译器 Python 编译器编译器 C/C+ 编译器编译器 第二次编译第二次编译 CLR中的即时编译器中的即时编译器JIT MSILMSIL中间代码中间代码 本地可执行代码本地可执行代码 各种编程语言编译器各种编程语言编译器 负责完成编译工作的负责完成编译工作的 第一步,即把源代码

6、第一步,即把源代码 转换为一种中间代码转换为一种中间代码 Microsoft Intermediate Language, MSIL。 MSIL还不能在计还不能在计 算机上运行,还要算机上运行,还要 通过第二步编译工通过第二步编译工 作将作将MSIL变为真变为真 正的机器语言,即正的机器语言,即 时编译器时编译器Just In Time,JIT完成。完成。 3. 3. 中间语言中间语言(MSIL)(MSIL)和和JITJIT即时编译即时编译 1.1.2 1.1.2 认识认识C#C#语言语言 C和和C它们对组件和它们对组件和Web开开 发的有限支持已经不符合时代潮发的有限支持已经不符合时代潮 流

7、了。流了。 在很多应用领域,使用这类语言在很多应用领域,使用这类语言 已经不多。已经不多。 1.1.2 1.1.2 认识认识C#C#语言语言 Java是是SUN公司在公司在90年代发布年代发布 中期发布的一种强大的通用程序中期发布的一种强大的通用程序 设计语言设计语言 它以它以C和和C+为根底,参加了更为根底,参加了更 多更加纯粹的面向对象特性;多更加纯粹的面向对象特性; 用用JAVA编写的程序可以运行在任编写的程序可以运行在任 何平台上何平台上跨平台:跨平台:JAVA程序程序 运行在运行在JAVA虚拟机上,可以实现虚拟机上,可以实现 “一次编写,到处运行。一次编写,到处运行。 C#可以说是微

8、软为了与可以说是微软为了与JAVA抗抗 衡而开发。衡而开发。 1.1.2 1.1.2 认识认识C#C#语言语言 C# C Sharp是一种现代的面向对象微软称面向是一种现代的面向对象微软称面向 组件的程序设计语言,它是专门为生成运行在组件的程序设计语言,它是专门为生成运行在.NET 框架上的企业级应用程序而设计的。框架上的企业级应用程序而设计的。 微软对微软对C#的定义:的定义:C#是一种平安的、现代的、简单是一种平安的、现代的、简单 的,由的,由C和和C衍生而来的面向对象的编程语言。它衍生而来的面向对象的编程语言。它 牢牢根植于牢牢根植于C和和C语言之上,并可以立即被语言之上,并可以立即被C

9、和和C 的使用者所熟悉。的使用者所熟悉。C#的目的就是综合的目的就是综合Visual Basic 的高生产率和的高生产率和C的行动力。的行动力。 1.1.2 1.1.2 认识认识C#C#语言语言 z使用使用 C# 能做什么?能做什么? 本学期内容为通过本学期内容为通过 C#控制台应用程序控制台应用程序 学习学习 C#语法、编程逻辑语法、编程逻辑 C# 桌面应用程序桌面应用程序 WinForms Internet 应用程序应用程序 Windows 效劳程序效劳程序 Windows Service Web 效劳程序效劳程序 Web Service 1.1.3. 1.1.3. 本课程开发的应用程序本

10、课程开发的应用程序 zIDE上直接支持的应用程序有很多种。选取最简上直接支持的应用程序有很多种。选取最简 单的两种举例。单的两种举例。 z创立控制台应用程序创立控制台应用程序 z控制台应用程序:以字符界面控制台应用程序:以字符界面DOS界面为运界面为运 行环境,可编译为独立的可执行程序,通过命令行环境,可编译为独立的可执行程序,通过命令 行运行,在字符界面上输入输出。行运行,在字符界面上输入输出。 z创立创立Windows应用程序应用程序 z基于基于Windows窗体的应用程序,是一种基于图窗体的应用程序,是一种基于图 形界面接口形界面接口GUI的应用程序,一般是用户计算机的应用程序,一般是用

11、户计算机 在本地运行区别于在本地运行区别于Web应用程序。应用程序。 集成开发环境集成开发环境 集成开发环境界面集成开发环境界面IDEIDE 主区域窗口: 起始页 解决方案资源管理器 输出窗口、错误列表 1.NET开 发的每一 个应用程 序叫解决 方案; 2.一个解 决方案包 含一个或 多个工程。 子窗口:工 具箱等 2 2解决方案管理器解决方案管理器 解决方案名称解决方案名称 工程名称工程名称 编译后的编译后的 可执行文件可执行文件 源文件:源文件:*.cs 树状目录树状目录 1 1解决方案管理器解决方案管理器 z 什么是解决方案?什么是解决方案? z 使用开发的每一个应用程序称为解决方案。

12、使用开发的每一个应用程序称为解决方案。 z 一个解决方案可以包括一个或多个工程。一个解决方案可以包括一个或多个工程。 z 解决方案资源管理器以树状目录的形式列出其中的工程和解决方案资源管理器以树状目录的形式列出其中的工程和 文件。文件。 z 什么是工程?什么是工程? z 一个工程能解决一个独立的问题,通常是一个完整的程序一个工程能解决一个独立的问题,通常是一个完整的程序 模块。模块。 z 一个工程包含多个项文件、文件夹、引用、数据连接。一个工程包含多个项文件、文件夹、引用、数据连接。 2 2工具箱与效劳器资源管理器工具箱与效劳器资源管理器(p15) (p15) z “工具箱用于向工具箱用于向

13、Windows应用程序或应用程序或 Web应用程序添加控件。应用程序添加控件。 z “效劳器资源管理器效劳器资源管理器 是的效劳器管理控制台。是的效劳器管理控制台。 3 3属性和动态帮助属性和动态帮助 z “属性子窗口:属性子窗口: z 用于设置解决方案中各个子项的属性用于设置解决方案中各个子项的属性 。 z “动态帮助动态帮助 z 对用户当前操作提供相关的帮助主题列表。对用户当前操作提供相关的帮助主题列表。 z 当用户在环境中进行某一项操作时,当用户在环境中进行某一项操作时,“动态帮助将搜索动态帮助将搜索 MSDN库库Microsoft Developer Network,查找与,查找与 该

14、操作相关的帮助主题并把它认为可能最有用的主题列在该操作相关的帮助主题并把它认为可能最有用的主题列在 第一位。单击一个链接后,默认情况下此主题将会显示在第一位。单击一个链接后,默认情况下此主题将会显示在 Visual Studio .NET窗口中。窗口中。 z 当在代码窗口中编辑源代码时,当在代码窗口中编辑源代码时,“动态帮助窗口会显示动态帮助窗口会显示 正在输入的关键字和类的帮助主题。正在输入的关键字和类的帮助主题。 4 4智能感知智能感知 IntellisenseIntellisense z动态显示成员列表,动态显示成员列表, 动态动态 显示该方法功能和不同用显示该方法功能和不同用 法。法。

15、 z1:在输入一个对象或类和:在输入一个对象或类和 一个点时,一个点时, 会自动在一个会自动在一个 小窗口中列出该对象或类小窗口中列出该对象或类 可用的属性和方法。可用的属性和方法。 z 2:当使用当使用“方法时,将方法时,将 动态显示该方法的功能和动态显示该方法的功能和 用法。用法。 集成开发环境集成开发环境IDEIDE菜单介绍菜单介绍 常用菜单项介绍常用菜单项介绍 1)文件:文件: 新建:可新建工程、文件、解决方案新建:可新建工程、文件、解决方案 翻开:可翻开工程或文件翻开:可翻开工程或文件 2)调试调试 启动调试:启动调试:F5 开始执行不调试开始执行不调试CTRLF5 单步执行:逐语句

16、单步执行:逐语句F11 逐过程逐过程 F10 设置断点:设置断点:F9 案例案例2 2:一个控制台应用程序:一个控制台应用程序 z题目描述:题目描述: z创立一个控制台创立一个控制台 应用程序显示效应用程序显示效 果如右图所示:果如右图所示: 案例案例2 2:一个控制台应用程序:一个控制台应用程序 using System; namespace Hello class hello static void Main() Console.WriteLine(Hello .NET); Console.WriteLine(Hello C#!); v一个简单的控制台应用程序一个简单的控制台应用程序 “调

17、试调试“启动调试启动调试或按或按“F5、 ctrl+F5 注释:单行注释注释:单行注释“/ 多行注释多行注释“/*/ 用用using引用一个命名空间引用一个命名空间 定义命名空间定义命名空间 定义定义Main方法方法 定义类定义类 一一. .涵盖知识点涵盖知识点 /第一个第一个C#程序程序 using System; namespace Hello class hello static void Main() Console.WriteLine (Hello,world); v一个简单的控制台应用程序一个简单的控制台应用程序 1.命名空间:类的组织方式,可看作是命名空间:类的组织方式,可看作是

18、 给类进行分类的系统。给类进行分类的系统。 用用namespace 来声明:来声明: 用用“using来引用:来引用: 注:引用了命名空间后,可以直接使用注:引用了命名空间后,可以直接使用 这个命名空间的类和方法,这个命名空间的类和方法, 如:如: namespace namespace 命名空间名命名空间名 using using 命名空间名命名空间名 Console.WriteLine(“hello world!);System是是Visual Studio .NET中的最根本中的最根本 的命名空间,在创立工程时,的命名空间,在创立工程时, Visual Studio .NET平台都会自动

19、生成导入平台都会自动生成导入 该命名空间,并且放在程序代码的起始处。该命名空间,并且放在程序代码的起始处。 一一. .涵盖知识点涵盖知识点 /第一个第一个C#程序程序 using System; namespace Hello class hello static void Main() Console.WriteLine (Hello,world); v一个简单的控制台应用程序一个简单的控制台应用程序 2.定义类:定义类:C#的程序至少包括一个自定的程序至少包括一个自定 义类,格式:义类,格式: 方法:方法: C#程序必须包含一个程序必须包含一个Main方法方法; 它是程序的入口点它是程序的

20、入口点; 必须用必须用static表示静态方法表示静态方法; 这里这里Main 类是类是hello类的成员类的成员,是一个函是一个函 数方法。数方法。 Class 类名类名 一一. .涵盖知识点涵盖知识点 4.输入和输出输入和输出 程序使用程序使用.NET运行库提供的输入输出效劳,运行库提供的输入输出效劳, 例:语句:例:语句:System.Console.WriteLine(“hello world!); 功能:向显示屏输出双引号功能:向显示屏输出双引号“之间的字符串。之间的字符串。 例:语句:例:语句: String str; strSystem.Console.ReadLine(); 功

21、能:输入一个字符串。功能:输入一个字符串。 二二. .操作步骤操作步骤 z 1.新建工程新建工程 z 文件文件新建新建工程工程 z 选择空工程或控制台应用程序选择空工程或控制台应用程序 z 2.编写代码编写代码 z 3.调试运行程序调试运行程序 z 4. 保存程序保存程序 三、案例拓展:三、案例拓展:1.1.控制台类:控制台类:ConsoleConsole z Console类类 z System命名空间所预定义的一个类;命名空间所预定义的一个类; z 用于实现计算机的根本输入输出。用于实现计算机的根本输入输出。 名称名称接受参数接受参数返回值类型返回值类型用途用途 Read无无int从输入流

22、读入下一个字符从输入流读入下一个字符 ReadLine无无string从输入流读入一行文本,至换行符结束从输入流读入一行文本,至换行符结束 Writestringvoid输出一行文本输出一行文本 WriteLinestringvoid输出一行文本,并在结尾处自动换行输出一行文本,并在结尾处自动换行 1.1.控制台类:控制台类:ConsoleConsole A、 输出方法输出方法 四种格式:四种格式: 格式一:格式一:Console.WriteLine(); 功能:输出一个换行符功能:输出一个换行符 格式二:格式二: Console.WriteLine(“字符串字符串); 例:例: Consol

23、e.WriteLine(“欢送学习欢送学习C#! ); 格式三:格式三:Console.WriteLine(“格式字符串格式字符串 ,输出列表,输出列表); 例:例: string course=C#; Console.WriteLine(“欢送学习欢送学习0! ,course); 1.1.控制台类:控制台类:ConsoleConsole 例如: Console.WriteLine(0:1: 2,10,20,30); Console.WriteLine(01,2,这两个数是这两个数是:,10,20); 1.1.控制台类:控制台类:ConsoleConsole z 控制台输出例如控制台输出例如

24、z 输出结果:输出结果: z 还可以使用还可以使用“连接符输出字符串。连接符输出字符串。 z 例如:例如: z Console.Write(欢送学习欢送学习 + course + ,); z Console.WriteLine(欢送来到欢送来到 + platform + 世界世界 ); 1.1.控制台类:控制台类:ConsoleConsole B、输入方法、输入方法 Read与ReadLine方法的功能是接受从键盘上 输入的数据 例如: char c=(char)Console.Read( ); string s=Console.ReadLine( ); int i=int32.Parse(C

25、onsole.ReadLine( ); 1.1.控制台类:控制台类:ConsoleConsole 练:练: class test static void Main() int i;char ch; string str1 = Hi!,str2 = welcome to C#!; Console.Write(str1); Console.Write(str2); Console.WriteLine(str1); Console.WriteLine(str2); i = Console.Read(); Console.WriteLine(01, i=, i); ch = (char)i; Cons

26、ole.WriteLine(01, ch=, ch); 运行过程: Hi!welcome to C#!Hi! welcome to C#! a输入a再回车 i=97 cha 2. C#2. C#程序结构程序结构 1C#程序的组成要素程序的组成要素 1) 关键字关键字 在在C#代码中常常使用关键字,关键字也叫保存代码中常常使用关键字,关键字也叫保存 字,是对字,是对C#有特定意义的字符串。关键字在有特定意义的字符串。关键字在 Visual Studio .NET环境的代码视图中默认以蓝环境的代码视图中默认以蓝 色显示。例如,代码中的色显示。例如,代码中的using、namespace、 clas

27、s、static、void等,均为等,均为C#的关键字。的关键字。 2.C#2.C#程序结构程序结构 2)命名空间命名空间namespace 3)类类class和方法和方法 C#中,必须用类来组织程序的变量与方法。中,必须用类来组织程序的变量与方法。 C#要求每个程序必须且只能有一个要求每个程序必须且只能有一个“Main方法方法 “Main方法必须放在某一个类中。方法必须放在某一个类中。“Main方方 法是应用程序的入口。法是应用程序的入口。 4)语句语句 语句就是语句就是C#应用程序中执行操作的指令。应用程序中执行操作的指令。C#中的中的 语句必须用分号语句必须用分号“;结束。结束。 可以在

28、一行中书写多条语句,也可以将一条语句书可以在一行中书写多条语句,也可以将一条语句书 写在多行上。写在多行上。 2.C#2.C#程序结构程序结构 5)5)大括号大括号 在在C#C#中,括号中,括号“和和“是一种范围标志,是一种范围标志, 是组织代码的一种方式,用于标识应用程是组织代码的一种方式,用于标识应用程 序中逻辑上有紧密联系的一段代码的开始序中逻辑上有紧密联系的一段代码的开始 与结束。与结束。 大括号可以嵌套,以表示应用程序中的不同大括号可以嵌套,以表示应用程序中的不同 层次。层次。 3.C#3.C#程序的书写格式程序的书写格式 1)1)缩进与空格缩进与空格 p缩进用于表示代码的结构层次,

29、这在程序中不是缩进用于表示代码的结构层次,这在程序中不是 必须的,但是缩进可以清晰地表示程序的结构层必须的,但是缩进可以清晰地表示程序的结构层 次,在程序设计中应该使用统一的缩进格式书写次,在程序设计中应该使用统一的缩进格式书写 代码。代码。 p空格有两种作用,一种是语法要求,必须遵守,空格有两种作用,一种是语法要求,必须遵守, 一种是为使语句不至于太拥挤。一种是为使语句不至于太拥挤。 p例如:例如: int ia = 3;int ia = 3; 4.C#4.C#程序的书写格式程序的书写格式 2)2)字母大小写字母大小写 C#C#中的字母可以大小写混合,但是必须注意的是,中的字母可以大小写混合

30、,但是必须注意的是, C#C#把同一字母的大小写当作两个不同的字符对待,把同一字母的大小写当作两个不同的字符对待, 如,大写如,大写“A“A与小写与小写“a“a对对C#C#来说,是两个不来说,是两个不 同的字符。同的字符。 3)3)注释注释 C#C#中的注释根本有三种:中的注释根本有三种: 单行注释:以单行注释:以 “/ “/ 开始,不能换行。开始,不能换行。 多行注释:以多行注释:以“/“/* *开始,以开始,以“* */ /结束,可以换结束,可以换 行。行。 文档注释:文档注释:/ C#C#注释例如注释例如 namespace Hello/定义命名空间定义命名空间 / / 该程序向控制台输

31、出两行信息该程序向控制台输出两行信息 / wsy 日期:日期:2021-2-1 / class Program/定义类定义类 static void Main(string args)/定义方法定义方法 /* 此处添加代码此处添加代码 */ Console.WriteLine(Hello .NET!); /输出输出Hello .NET! Console.WriteLine(Hello C#!); Console.ReadLine(); /等待用户输入,使输出显示暂停等待用户输入,使输出显示暂停 作业及上机练习作业及上机练习 1.编写一个简单的控制台应用 程序,输入一串字符,然后将 它输出。 2

32、.编写一个简单的应用程序, 单击按钮时,在消息框中显示 “努力学习C#! 要求:在环境下执行。 案例案例2 2:创立:创立WindowsWindows应用程序应用程序 z题目描述:题目描述: z 在文本框中显示在文本框中显示 两行文字,鼠标点两行文字,鼠标点 击击“显示按钮后显示按钮后 在文本框显示文字,在文本框显示文字, 点击点击“清屏按钮清屏按钮 后去除文本框内容。后去除文本框内容。 一一. .涵盖知识点涵盖知识点 zWindows应用程序开发步骤应用程序开发步骤 z 1. 新建工程新建工程 z 2. 添加控件和设置控件属性添加控件和设置控件属性 z (1) 添加控件添加控件 (2) 修改

33、属性修改属性 z3. 编写代码编写代码 z4. 保存程序保存程序 z5. 运行调试程序运行调试程序 二二. .操作步骤操作步骤 1.新建工程新建工程 1)文件文件新建新建工程;工程; 2)在左窗中的在左窗中的“工程类型中选择工程类型中选择Visual C#; 3)在右窗中的在右窗中的“工程模板中选择工程模板中选择 Windows应用程序选项;应用程序选项; 4)注意要选择好解决方案保存位置。注意要选择好解决方案保存位置。 二二. .操作步骤操作步骤 2.设计程序界面设计程序界面 (1) 添加控件添加控件 按钮控件按钮控件 二二. .操作步骤操作步骤 控件对象名控件对象名属性名属性名属性值属性值

34、 Form1 NameForm1 Text案例案例1:Windows 应用程应用程 序序 ForeColor灰色灰色 textBox1 NametxtShow Text空白空白 ForeColor黑色黑色 MultiLineTrue 二二. .操作步骤操作步骤 z(2) 修改属性修改属性 控件对象名控件对象名属性名属性名属性值属性值 button1 NamebtnShow Text显示显示 ForeColor黑色黑色 button2 NamebtnClear Text清屏清屏 ForeColor红色红色 二二. .操作步骤操作步骤 3. 3. 编写代码编写代码 private void btn

35、Show_Click(object sender, EventArgs e) txtShow.Text = “Hello .NET!rnHello C#!; private void btnClear_Click(object sender, EventArgs e) txtShow.Text = ; v一个一个Windows应用程序应用程序 二二. .操作步骤操作步骤 3. 3. 编写代码编写代码 z 点击点击“显示或显示或“去除按钮时,触发相应按钮的去除按钮时,触发相应按钮的 “Click事件,自动进入事件处理程序。事件,自动进入事件处理程序。 z 窗体、按钮、文本框等都是对象,它们有属性有行为方窗体、按钮、文本框等都是对象,它们有属性有行为方 法。给对象的属性赋值形式为:法。给对象的属性赋值形式为: z 对象名对象名.属性名属性名=属性值属性值 z 例如:例如:txtShow.Text=“Hello world! z btnShow.Text=“显示显示; z 对象有行为方式称方法,用来描述对象可以执行的操对象有行为方式称方法,用来描述对象可以执行的操 作。作。 z 例如,事件处理程序例如,事件处理程序btnShow_Click就是就是“显示按显示按 钮的钮的Click事件的处理方法。事件的处理方法。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论