欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    使用 Microsoft Visual C# 2005 Express Edition 编程简介.doc

    • 资源ID:61749535       资源大小:281.50KB        全文页数:24页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    使用 Microsoft Visual C# 2005 Express Edition 编程简介.doc

    show toc欢送来到 MSDN > 开发语言和工具使用 Microsoft Visual C# 2005 Express Edition 编程简介发布日期: 9/9/2004 | 更新日期: 9/9/2004Andrew W. TroelsenIntertech Training摘要:本文介绍了如何以使用 Microsoft Visual C# 2005 Express Edition 集成开发环境 (IDE) 的 C# 语言进行编程。本文通过各种例如工程,为读者介绍了 C# 编程语言的几个方面和 .NET 平台的主要概念。下载 Code.msi 例如文件。注 本文假定读者是有兴趣探究使用 Visual C# 2005 Express Edition 的 C# 语言和 .NET 平台的业余爱好者、学生或有编程思想的个人。不要求您之前一定接触过 C#,但以前的一些编程经验将有所帮助。 适用于:Microsoft Visual C# 2005 Express Edition本页内容什么是 Visual C# 2005 Express Edition?Visual C# 2005 Express 的高级功能Visual C# 2005 Express 工程程序集、命名空间和类型从理论到实践:使用外部类型通过 C# Express 处理异常通过编程方式处理异常创立 C# 类库工程构建 Windows 窗体应用程序开始进行编码:Visual C# 2005 Express 起始工具包小结什么是 Visual C# 2005 Express Edition?.NET 应用程序可以使用多种方法创立。顽固的开发人员可以采用突击方法,使用精简的文本编辑器例如,notepad.exe和 C# 命令行编译器 (csc.exe) 来构建 .NET 程序。虽然 .NET 软件开发工具包 (SDK) 可以从 Microsoft 站点 () 免费下载,但这种方法会带来许多麻烦,因为它在 SDK 中不提供代码生成实用工具向导、图形调试器和 IntelliSense 功能。 为了帮助减轻在命令行构建软件的负担,许多 .NET 开发人员都利用可视化工具,例如,Microsoft 功能齐全的 IDE 和 Visual Studio .NET 2003 ()。虽然此产品的功能非常强大,但对于 .NET 业余爱好者和/或大学生来说,企业版的价格过高。老实说,除非您是专业的软件工程师,否那么 Visual Studio .NET 2003 所提供的大量选项通常会使您的学习过程复杂化,而不会提供任何帮助。介于 notepad.exe 和 Visual Studio .NET 2003 软件功能之间的就是 Microsoft 的最新 IDE,即 Visual C# 2005 Express Edition。在撰写本文时,测试版的 Visual C# 2005 Express Edition 已经通过 Web 下载 () 免费提供。由于 Visual C# 2005 Express 的大小相对较小,因此即使是使用 56K 调制解调器连接,也可以轻松获得它。 Visual C# 2005 Express 实际上是 Express 家族的几个成员之一。具体来说,Microsoft 提供了以下 Express Edition 产品: Visual Web Developer 2005 Express:一个使用 ASP.NET 构建动态 Web 站点和 XML Web 效劳的轻型工具。 Visual Basic 2005 Express:一个供初级程序员学习如何构建 Windows 应用程序的理想的简化编程工具。 Visual C# 2005 Express、Visual C+ 2005 Express 和 Visual J# 2005 Express:针对希望学习计算机科学根本知识的学生和热衷者的目标编程工具。 SQL Server 2005 Express:一个适用于业余爱好者、热衷者和学生开发人员的入门级数据库管理系统。 简单地说,Express Edition 产品系列是业余爱好者、学生和新手了解 .NET 平台的理想入门工具。如果您属于其中一员,请下载并安装 Visual C# 2005 Express,然后继续阅读此文。 返回页首Visual C# 2005 Express 的高级功能Visual C# 2005 Express 提供了许多您在 .NET 开发环境中需要的关键功能,例如: 与 ANSI 兼容的 C# 2.0 编译器 功能齐全的集成调试器 高级 IntelliSense 功能 针对 Windows 窗体开发的设计时支持 支持本地数据库访问 十分轻松地访问 XML Web 效劳 您还需要了解 Visual C# 2005 Express 不支持的功能。具体来说,Visual C# 2005 Express 不直接支持以下功能: ASP.NET Web 应用程序 XML Web 效劳的结构 移动应用程序开发 、PDA、Windows CE 设备 远程数据库连接工具 在下文中,我们将为您介绍使用 Visual C# 2005 Express 的 C# 和 .NET 平台。但是请注意,本文不是 有关 C# 编程语言、.NET 平台或 Visual C# 2005 Express IDE 的综合教程。本文结尾处提供了指向 .NET Web 站点的其他链接,以进一步强化您的学习过程。 返回页首Visual C# 2005 Express 工程Visual C# 2005 Express 工程由任意数量的 C# 源代码文件使用 *.cs 文件扩展名组成,它支持内容文件XML 文档、应用程序图标和图像等和引用的程序集在本文后面详细说明。Visual C# 2005 Express 提供了许多核心工程类型在下表中有描述,而不是强制我们为特定类型的工程Windows 窗体应用程序、控制台应用程序等创立相同的公式化代码。Visual C# 2005 Express 工程类型定义Windows 应用程序创立新的 Windows 窗体工程。此类工程用于创立诸如 Microsoft Word 之类的桌面应用程序。类库此工程用于创立可重复使用的代码库打包为 *.dll 文件,该代码库可以跨您的 .NET 应用程序使用。控制台应用程序此工程可以创立基于控制台的应用程序。在学习新的编程语言例如,C#时,这些应用程序非常有用,因为您不需要考虑图形用户界面 (GUI) 的结构。空工程该选项可以生成没有初始 C# 代码文件的工程。在您希望使用 Project | Add Existing Item 菜单项将现有文件导入新工程时,该选项十分有用。为了开始研究 C#,我们将创立一个名为 MyCSharpExpressApp 的全新控制台应用程序。File | New | Project 菜单项选择择可以激活一个新的工程对话框,如图 1 所示。图 1. 创立新的控制台应用程序工程此时,您可能希望使用 File | Save All 菜单项选择择进行保存。在得到的对话框中,指定您选择的位置,如图 2 所示。图 2. 保存当前工程注 第一个控制台应用程序将不会提供很多功能,它只是作为一个检查某些根本概念的工具。在本文后面,我们将构建一个完整且更有趣的应用程序。返回页首程序集、命名空间和类型在我们深入研究第一个例如之前,需要了解 .NET 编程方面的一些关键术语。在我为软件专业人员授课的几年中,我可以肯定地说,程序集、命名空间 和类型 之间的区别总是让新的 .NET 开发人员感到迷惑不解。我们尽量不让这发生在您身上。 当您构建工程时,您实际上就是在创立 .NET 程序集。从形式上说,程序集就是一个物理文件其文件扩展名通常是 *.exe 或 *.dll,您可以使用 Windows Explorer 在硬盘驱动器上直接查看此文件。 Visual C# 2005 Express 解决方案浏览器窗口将显示一个名为 References 的子文件夹,它列出了当前工程所使用的程序集的集合。但是,不同的工程需要引用一组唯一的程序集,图 3 显示了当前控制台应用程序的程序集。图 3. 控制台应用程序工程引用的程序集随着构建越来越精细的 .NET 应用程序,您通常需要使用特定工程所包含的集合以外的程序集。为此,C# Express 提供了“添加引用对话框,它可以使用 Project | Add Reference 对话框激活。此时,您不必添加其他程序集。图 4 显示了上述对话框。图 4. C# Express 的“添加引用对话框程序集包含一组命名空间。简单地说,命名空间就是一个在语义上相关的类型 的集合。您要知道,单个程序集通常会包含多个命名空间。例如,mscorlib.dll 程序集就包含文件输入和输出 (System.IO)、集合类型 (System.Collections)、通用实用工具类型 (System) 等等的命名空间。 注 每个 .NET 应用程序都会自动引用 mscorlib.dll,因此您无需手动引用该核心库。命名空间可以定义任意数量的类型。对于 .NET 2.0,下表简要关键字为简要描述了 5 种类型。.NET 类型根本含义Class类是一个对象的设计图。与房屋的设计图一样,类可用于创立对象。与房屋一样,每个独立对象的属性可以完全不同例如,蓝房子与红房子,但设计图将不会改变。Interface接口可以定义类或接口支持的一组公共方法。接口使您能够定义类或结构必须支持的一组成员。Structure简单地说,结构是轻型的类类型。在建模数学、几何或其他原子数据时,这种类型十分理想。结构缺少类的面向对象的功能,例如,继承。Enumeration枚举英文简写为 enums是名称/值对的已命名集合。枚举使您能够定义程序中使用的值。Delegate委托归结为类型平安的函数指针。这些类型是 .NET 事件体系结构的根底。无论您是处理按钮的 Click 事件,还是处理 ASP.NET Web 页的回发,委托都是根底结构。当某个 C# 工程需要使用给定程序集中的类型时,第一步就是使用 Add Reference dialog 来引用 *.dll,如图 4 所示。第二步是在该文件的开头添加 using 指令,以指定您要访问的命名空间。实际上,C# 的 using 指令只是一个用于在代码中指定较长命名空间的缩写,它使我们能够在代码中只使用 File 来代替全名 System.IO.File。为了进行证明,您可以假定以下代码:using System;namespace SomeProgram class Program static void Main(string args) / Create an ArrayList and Hashtable / (the hard way). System.Collections.ArrayList a = new System.Collections.ArrayList(); System.Collections.Hashtable h = new System.Collections.Hashtable(); 在此处,我们要创立 ArrayList 和 Hashtable 类型,它们都位于 System.Collections 命名空间中。使用以下 using 指令,您可以少键入一些内容,而不必将命名空间直接置于类型前面:using System;using System.Collections; / Add this!namespace SomeProgram class Program static void Main(string args) / Create an ArrayList and Hashtable / (the easy way). ArrayList a = new ArrayList(); Hashtable h = new Hashtable(); 正如您猜测的那样,作为一个 .NET 程序员,您的主要目的是熟悉所使用的程序集、命名空间和类型。幸运的是,C# Express 提供了一个集成的对象浏览器实用工具,该工具可以从 View | Other Windows | Object Browser 菜单项激活。使用此工具,您可以查看每个引用程序集中的命名空间和类型,如图 5 所示。图 5. C# Express 对象浏览器返回页首从理论到实践:使用外部类型现在,让我们向 MyCSharpExpressApp 工程中添加一些代码。在构建需要与本地文件系统进行交互的应用程序时,您需要使用 System.IO 命名空间。通过一个例如,更新您文件的 using 指令,并在 Main() 方法中输入以下代码:#region Using directivesusing System;using System.Collections.Generic;using System.Text;using System.IO; / Need this for IO types!#endregionnamespace MyCSharpExpressApp class Program static void Main(string args) / Open a file named myInfo.txt / located on the root C: drive. string myFileContents; myFileContents = File.ReadAll("C:myInfo.txt"); / Now print it to the console. Console.WriteLine(myFileContents); Console.ReadLine(); 该应用程序使用 File.ReadAll() 方法翻开指定的文件,并以字符串的形式返回内容。在此例中,名为 myInfo.txt 的文件的内容将直接显示在控制台中。假定该文件是使用 notepad.exe 创立的,并且它只包含一行文本,如图 6 所示。 图 6. myInfo.txt 文件将该文件直接保存在 C 驱动器中,然后使用 Debug | Start Without Debugging 菜单项选择项运行该应用程序。如果一切正常,您应该看到图 7 中显示的输出。图 7. 您的第一个 C# Express 应用程序注 如果该例如没有按预期方式运行,请继续阅读。下一局部说明了如何使用 Visual C# 2005 Express 调试运行时异常。 现在,假定您希望在 Windows 窗体消息框而不是控制台中显示此信息。为此,您需要执行以下操作: 引用 System.Windows.Forms.dll 程序集。 指定您要“使用 命名空间。 将从 File.ReadAll() 返回的字符串传递给 MessageBox.Show() 方法。 首先,使用图 8 中显示的 Add References 对话框引用 System.Windows.Forms.dll。 图 8. 引用 System.Windows.Forms.dll 程序集然后,按以下方法更新代码:#region Using directivesusing System;using System.Collections.Generic;using System.Text;using System.IO; / Need this for IO types!using System.Windows.Forms; / Need this for MessageBox!#endregionnamespace MyCSharpExpressApp class Program static void Main(string args) / Open a file named myInfo.txt / located on the root C: drive. string myFileContents; myFileContents = File.ReadAll("C:myInfo.txt"); / This time, place in a message box. MessageBox.Show(myFileContents); Console.ReadLine(); 一旦您再次运行应用程序,就会发现显示在 Windows 窗体消息框中的文件内容与图 9 中的内容类似。图 9. 与 MessageBox 类类型进行交互返回页首通过 C# Express 处理异常当前例如大胆假设了名为 myInfo.txt 的文件存在于根驱动器 C 上。如果不存在,您将收到一个运行时错误更正式地说,是运行时异常。Visual C# 2005 Express 可以帮助您诊断此类错误。为了进行证明,请删除或重命名myInfo.txt 文件,然后使用 Debug | Start 菜单项选择择来调试您的程序。正如您在图 10 中看到的那样,系统为您提供了大量有关当前异常的详细信息,以及用于更正该问题的建议。图 10. 使用 Visual C# 2005 Express 调试异常要修复当前问题,请将您的文本文件重命名为 myInfo.txt。返回页首通过编程方式处理异常假设直到您的应用程序运行后才发现存在外部文件,那么 C# 程序员可以使用称为结构化异常处理 的技术。您将看到,结构化异常处理会涉及到使用少量 C# 关键字最主要的是 try 和 catch。当您要调用可能会返回运行时异常的方法例如,File.ReadAll() 方法时,应将语句包装到 try 作用域中。如果触发了一个异常,那么错误将传递到相关的 catch 作用域,您可以在该作用域中适当地处理此问题。如果 try 作用域中的每个语句在执行时都没有出现错误,那么将跳过整个 catch 块。假设要直接进行测试,请按以下方法更新您的当前代码:namespace MyCSharpExpressApp class Program static void Main(string args) / Attempt to open a file named myInfo.txt / located on the root C: drive. string myFileContents; try myFileContents = File.ReadAll("C:myInfo.txt"); MessageBox.Show(myFileContents); catch(FileNotFoundException ex) Console.WriteLine("Error: 0", ex.Message); Console.ReadLine(); 在此处,我们使用了 FileNotFoundException 类的 Message 属性来格式化错误消息,以防止文件丧失,如图 11 所示。 图 11. 通过编程方式处理 FileNotFoundException对该初始例如应用程序的说明到此为止。现在,您已经对根底知识有了更好的了解,下面让我们来创立一个更复杂且更有趣的 C# 应用程序。 返回页首创立 C# 类库工程我们的下一个目标是构建一个名为 ManagerSpeakLib.dll 的 .NET 类库。首先,关闭当前的 MyCSharpExpressApp 工程使用 File | Close Project,然后创立一个名为 ManagerSpeakLib 的新类库工程,如图 12 所示。请注意,如果您先前没有保存 MyCSharpExpressApp 工程,系统会显示一个“放弃该工程的选项,以使您能够创立快速测试工程,同时防止让无用的代码搅乱您的系统。图 12. 创立新的类库工程这个类的角色我们将其重命名为 ManagerSpeak将返回随机生成的、模仿公司内部聊天的短语。使用名为 StateTheProblem() 的方法来更新 ManagerSpeak 类:#region Using directivesusing System;using System.Collections.Generic;using System.Text;#endregionnamespace ManagerSpeakLib public class ManagerSpeak public ManagerSpeak() / This method returns a randomly selected problem. public string StateTheProblem() string possibleProblem = "I think we really need to leverage.", "We can emerge as a dominant force if we optimize.", "To achieve an effective use of synergy we need to consider." Random r = new Random(); return possibleProblemr.Next(3); 在此处,我们使用 System.Random 类来返回本地字符串数组中的三个语句之一。Next() 方法用于获取随机数,在此例中,是 0 与 2 之间的数总共有三种可能:0、1、2。当然,每个问题都需要一个解决方案。因此,要向名为 GetSolution() 的 ManagerSpeak 类中添加另一个方法:public class ManagerSpeak. / This method returns a randomly selected solution. public string GetSolution() / String arrays with 10 segments each. string list1 = "integrated", "individualized", "cooperative", "flexible", "authentic", "functional", "responsive", "alternative", "performance", "cognitive" string list2 = "behavioral", "relevant", "criteria", "prescriptive", "perceptual", "facilitated", "modular", "diagnostic", "structured", "situational" string list3 = "strategies", "methodologies", "assessments", "analysis", "learning", "interaction", "objectives", "concepts", "recoveries", "management" / Make use of a System.Random type to / obtain a random string from each array. Random r = new Random(); int a = r.Next(10); int b = r.Next(10); int c = r.Next(10); / Now create and return the statement. string newMsg = list1a + " " + list2b + " " + list3c; return newMsg; 此时,请使用 File | Save All 菜单命令保存整个工程在您选择的文件夹中。通过激活 Build 菜单来编译您的新代码库。此时,您应该发现新代码库位于 BinRelease 子目录下,如图 13 所示。图 13. ManagerSpeakLib.dll 类库您可能知道,*.dll 程序集无法通过从 Windows Explorer 中双击它们来直接执行,而是当其他应用程序请求它们时,由运行库来加载。这样,我们的下一步就是构建使用 ManagerSpeakLib.dll 的应用程序。 返回页首构建 Windows 窗体应用程序要使用 ManagerSpeakLib.dll 的应用程序将是一个新的 Windows 窗体工程,名为 ManagerSpeakClient图 14。图 14. 构建 Windows 窗体应用程序一旦工程被加载,您将注意到,视觉窗体设计器会自动翻开,如图 15 所示。 图 15. Visual C# 2005 Express 窗体设计器Visual C# 2005 Express 提供了大量工具,使您可以快速构建图形用户界面 (GUI)所有界面都可以从 View 菜单访问。例如,图 16 中显示的“工具箱对话框显示了大量可用于构建窗体用户界面的 Windows 窗体组件。 图 16. Windows 窗体工具箱根据相关说明,图 17 中显示的 Properties 窗口使您能够在设计时配置当前选择的小部件窗体、按钮等。图 17.“属性窗口使用这些工具,创立一个由一个按钮和标签组成的简单用户界面,如图 18 所示。请注意,为了符合说明,我设置了标签、窗体和按钮的 Text 属性使用 Properties 窗口。图 18. Manager Client 窗体接下来,我们需要使用 Add References 对话框再次使用 Project | Add Reference 菜单项激活来引用 ManagerSpeakLib.dll。请注意,如果您希望引用自己的自定义 *.dll,那么需要选择 Browse 选项卡,并手动导航到要使用的代码库的位置,如图 19 所示。图 19. 引用 ManagerSpeakLib.dll 程序集要完成我们的 Windows 窗体应用程序,请双击使用窗体设计器的按钮。这将自动处理按钮类型的 Click 事件,并生成以下代码:private void button1_Click(object sender, EventArgs e) 此时,您可以随意添加代码来操作 ManagerSpeak 类。下面是完整的代码更新请注意 ManagerSpeakLib 的 C# using 指令。 #region Using directivesusing System;using System.Collections.Generic;using System ponentModel;using System.Data;using System.Drawing;using System.Windows.Forms;using ManagerSpeakLib; / Need this!#endregionnamespace ManagerSpeakClient partial class Form1 : Form public Form1() InitializeComponent(); private void button1_Click(object sender, EventArgs e) / Make a manager. ManagerSpeak m = new ManagerSpeak(); / Get the problem. string currentProblem = m.StateTheProblem(); / Get the solution. string solution = m.GetSolution(); / Show the details! MessageBox.Show(string.Format("0n1", currentProblem , solution); 现在,请运行您的 Windows 窗体应用程序,并单击按钮。您将看到随机产生的问题/解决方案,如图 20 所示,它以非常独特通常是令人讨厌的“管理者讲话的语气表达。图 20. 注意,管理者在讲话!这包装了我们的 Windows 窗体应用程序。您可以使用 File | Save All 菜单项选择项随时将该工程保存在您的计算机上。 返回页首开始进行编码:Visual C# 2005 Express 起始工具包此时,您已经创立了三个不同的 C# Express 工程一个控制台程序、一个类库和一个 Windows 窗体应用程序。虽然这篇介绍性的文章无法涵盖 C# 语言的所有方面或 Visual C# 2005 Express 的完整功能,但我希望本文能够有助于您在将来更好地进行探究。 为了将本文内容汇总,我为您提供了一个起始工具包 主题。简单地说,起始工具包是一个完整的 C# 应用程序,旨在阐释大量的编程概念。此外,起始工具包还提供了完整文档、代码演练以及对扩展附加功能的建议。其中一个默认的起始工具包是 Screen Saver 起始工具包,您可以从图 21 中显示的 New Project 对话框中选择它。您可以使用 File | New | Project. 菜单项选择择来启动该工具包。图 21. 选择 Screen Saver 起始工具包一旦您选择了 Screen Saver 工程并单击 OK 按钮后,IDE 将加载该起始工具包的文档文件 (ScreenSaverStarterKit.htm),如图 22 所示。在此处,您可以了解当前工程的根本内容。图 22. 了解 Screen Saver 起始工具包正如您看到的那样,该起始工具包提供了每个代码文件的详细信息,以及工程设计的分步演练。您可以通过按 F5 键来运行该应用程序。如果您连接到 Internet,那么能够看到显示在一组旋转背景图像顶端的 RSS真正简单的联合新闻头条。 返回页首小结Visual C# 2005 Express 是新手了解 .NET 平台的理想入口点。正如您在本文中看到的那样,IDE 可以提供一组工程类型、一个图形调试器和大量 Windows 窗体设计器。虽然本文不提供完整的 IDE 介绍,但您可能更习惯于浏览活动工程。 本文的大局部内容都是在介绍 .NET 领域中的一些核心术语。现在回想一下,程序集 是包含任意数量命名空间 的二进制文件。命名空间可以定义任意数量的类型类、接口、结构、枚举和委托。使用这些类型,.NET 程序员可以构建各种应用程序。希望本文能够激发您进一步了解 C# 和 .NET 平台的兴趣。如果您需要有关 C# 的其他信息,可能需要访问以下链接: Sharp New Language: C# Offers the Power of C+ and Simplicity of Visual Basic C# Programming Language Future Features GotDotNet Web 站点 Andrew Troelsen 是 Intertech 培训的参谋和培训师。Andrew 是很多书籍的作者,包括获奖的 C# and the .NET Platform Second EditionApress 出版社,2002 年。他还为 MacTech 每月专栏的所有版面撰写文章,在该专栏中,他探讨了如何使用 SSCLI、Portible.NET 和 Mono CLI 分发软件在基于 Unix 的系统上开发 .NET。 转到原英文页面

    注意事项

    本文(使用 Microsoft Visual C# 2005 Express Edition 编程简介.doc)为本站会员(e****s)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开