自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(180)
  • 资源 (20)
  • 收藏
  • 关注

转载 silverlight 数据绑定模式

在Silverlight 2中,支持三种模式的数据绑定。 1.OneTime:一次绑定,在绑定创建时使用源数据更新目标,适用于只显示数据而不进行数据的更新。 2.OneWay:单向绑定,在绑定创建时或者源数据发生变化时更新到目标,适用于显示变化的数据。 3.TwoWay:双向绑定,在任何时候都可以同时更新源数据和目标。 Jesse Liberty举的例子非常的形象,使用Silverlight开发一个在线书店,显示书籍的书名、作者等信息,使用OneTime模式,这些数据一般不会发生变化的;显示价格信息时使用O

2010-08-30 10:41:00 490

转载 CSDN招聘 .NET开发工程师

<br />作为最大中文技术社区的开发者,你在为自己做产品,你就是一个典型的用户;你的产品会影响到你的很多同行,你的任何一个成就都会被无限放大。来做一个有影响力的人吧。<br /><br />.NET开发工程师(北京)<br /><br />职位描述:<br /><br />负责CSDN社区论坛,博客等.Net技术构建的产品的开发和维护;  <br /><br />要求:<br /><br />2年以上 .NET 技术工作经验;  <br />熟练使用.NET(C#)开发;  <br />熟练使用SQL S

2010-08-29 14:48:00 716

转载 override (C# Reference)

<br />要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用 override 修饰符。<br />示例<br /><br />在此示例中,Square 类必须提供 Area 的重写实现,因为 Area 继承自抽象的 ShapesClass:<br />abstract class ShapesClass{ abstract public int Area();}class Square : ShapesClass{ int side = 0;

2010-08-29 14:44:00 473

转载 sealed(C# 参考)

<br />当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承。在下面的示例中,类 B 从类 A 继承,但是任何类都不能从类 B 继承。复制 class A {} sealed class B : A {}<br />还可以在重写基类中的虚方法或虚属性的方法或属性上使用 sealed 修饰符。这将使您能够允许类从您的类继承,并防止它们重写特定的虚方法或虚属性。<br />示例<br /><br />在下面的示例中,Z 从 Y 继承,但 Z 无法重写在 X 中声

2010-08-29 14:40:00 515

转载 abstract(C# 参考)

<br />interface I{ void M();}abstract class C : I{ public abstract void M();} abstract 修饰符指示所修饰的内容缺少实现或未完全实现。abstract 修饰符可用于类、方法、属性、索引器和事件。在类声明中使用 abstract 修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。<br />示例<br /><br />在此例中,

2010-08-29 14:33:00 395

转载 静态类和静态类成员(C# 编程指南)

<br />静态类与非静态类基本相同,但存在一个区别:静态类不能实例化。也就是说,不能使用 new 关键字创建静态类类型的变量。因为没有实例变量,所以要使用类名本身访问静态类的成员。例如,如果名为 UtilityClass 的静态类有一个名为 MethodA 的公共方法,则按下面的示例所示调用该方法:<br />UtilityClass.MethodA();<br /><br />与所有类类型一样,加载引用静态类的程序时,.NET Framework 公共语言运行时 (CLR) 将加载该静态类的类型信息。 

2010-08-29 13:39:00 340

转载 static(C# 参考)

<br />使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修饰符可用于类、字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类以外的类型。有关更多信息,请参见静态类和静态类成员(C# 编程指南)。<br />示例<br /><br />下面的类声明为 static,并且只包含 static 方法:<br /> static class CompanyEmployee { public static void DoS

2010-08-29 13:33:00 373

转载 类(C# 编程指南)

<br />“类”是一种构造,通过使用该构造,您可以将其他类型的变量、方法和事件组合在一起,从而创建自己的自定义类型。类就像一个蓝图,它定义类型的数据和行为。如果类没有声明为静态类,客户端代码就可以创建赋给变量的“对象”或“实例”,从而使用该类。在对变量的所有引用都超出范围之前,该变量始终保持在内存中。所有引用都超出范围时,CLR 将标记该变量以供垃圾回收。如果类声明为静态类,则内存中只存在一个副本,并且客户端代码只能通过该类自身而不是“实例变量”访问该类。有关更多信息,请参见静态类和静态类成员(C# 编程

2010-08-29 13:23:00 349

转载 如何:了解向方法传递结构和向方法传递类引用之间的区别(C# 编程指南)

<br />本示例演示在向方法传递结构时,传递的是该结构的副本,而在传递类实例时,传递的是一个引用。<br />本示例的输出表明:当向 ClassTaker 方法传递类实例时,只更改类字段的值。但是向 StructTaker 方法传递结构实例并不更改结构字段。这是因为向 StructTaker 方法传递的是结构的副本,而向 ClassTaker 方法传递的是对类的引用。<br />示例<br />class TheClass{ public string willIChange;}

2010-08-29 13:02:00 411

转载 使用结构(C# 编程指南)

<br />struct 类型适于表示 Point、Rectangle 和 Color 等轻量对象。尽管使用自动实现的属性将一个点表示为类同样方便,但在某些情况下使用结构更加有效。例如,如果声明一个 1000 个 Point 对象组成的数组,为了引用每个对象,则需分配更多内存;这种情况下,使用结构可以节约资源。因为 .NET Framework 包含一个名为 Point 的对象,所以本示例中的结构命名为“CoOrds”。<br />public struct CoOrds{ public in

2010-08-29 12:59:00 440

原创 结构(C# 编程指南)

<br />结构是使用 struct 关键字定义的,例如:<br />public struct PostalAddress{ // Fields, properties, methods and events go here...}<br /><br />结构与类共享大多数相同的语法,但结构比类受到的限制更多:<br />在结构声明中,除非字段被声明为 const 或 static,否则无法初始化。<br />结构不能声明默认构造函数(没有参数的构造函数)或析构函数。<br />

2010-08-29 12:44:00 310

转载 new 运算符(C# 参考)

<br />用于创建对象和调用构造函数。例如:复制Class1 obj = new Class1();<br />还可用于创建匿名类型的实例:复制var query = from cust in customers select new {Name = cust.Name, Address = cust.PrimaryAddress};<br />new 运算符还用于调用值类型的默认构造函数。例如:复制int i = new int();<br />在上一个语句中,i

2010-08-29 10:56:00 496

转载 new(C# 参考)

<br />在 C# 中,new 关键字可用作运算符、修饰符或约束。new 运算符<br />用于创建对象和调用构造函数。new 修饰符<br />用于向基类成员隐藏继承成员。new 约束<br />用于在泛型声明中约束可能用作类型参数的参数的类型。

2010-08-29 10:53:00 353

转载 了解何时使用 Override 和 New 关键字(C# 编程指南)

<br />C# 允许派生类中的方法与基类中的方法具有相同的名称,只要您非常明确应如何处理新方法。下面的示例演示 new 和 override 关键字的使用。<br />首先声明三个类:一个名为 Car 的基类以及从该基类派生的两个类 ConvertibleCar 和 Minivan。基类包含一个可将有关汽车的描述发送到控制台的方法 (DescribeCar)。派生类方法也包含一个名为 DescribeCar 的方法,该方法显示派生类的独特属性。这些方法还调用基类的 DescribeCar 方法来演示从 C

2010-08-29 10:51:00 336

转载 使用 Override 和 New 关键字进行版本控制(C# 编程指南)

<br />C# 语言经过专门设计,以便不同库中的基类与派生类之间的版本控制可以不断向前发展,同时保持向后兼容。这具有多方面的意义。例如,这意味着在基类中引入与派生类中的某个成员具有相同名称的新成员在 C# 中是完全支持的,不会导致意外行为。它还意味着类必须显式声明某方法是要重写一个继承方法,还是一个隐藏具有类似名称的继承方法的新方法。<br />在 C# 中,派生类可以包含与基类方法同名的方法。<br />基类方法必须定义为 virtual。<br />如果派生类中的方法前面没有 new 或 overri

2010-08-29 10:32:00 322

转载 virtual(C# 参考)

<br />virtual 关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。例如,此方法可被任何继承它的类重写。复制public virtual double Area() { return x * y;}<br />虚拟成员的实现可由派生类中的重写成员更改。有关如何使用 virtual 关键字的更多信息,请参见使用 Override 和 New 关键字进行版本控制(C# 编程指南)和了解何时使用 Override 和 New 关键字(C# 编程指南)。备注<

2010-08-29 10:23:00 379

转载 可访问性级别(C# 参考)

<br />使用访问修饰符 public、protected、internal 或 private 可以为成员指定以下声明的可访问性之一。<br />声明的可访问性<br />含义<br />public<br />访问不受限制。<br />protected<br />访问仅限于包含类或从包含类派生的类型。<br />internal<br />访问仅限于当前程序集。<br />protectedinternal<br />访问仅限于从包含类派生的当前程序集或类型。<br />private<br />访

2010-08-28 20:32:00 465

转载 修饰符(C# 参考)

<br />修饰符用于修改类型和类型成员的声明。本节介绍 C# 修饰符:<br />修饰符<br />用途<br />访问修饰符<br />public<br />private<br />internal<br />protected<br />指定声明的类型和类型成员的可访问性。<br />abstract<br />指示某个类只能是其他类的基类。<br />const<br />指定无法修改字段或局部变量的值。<br />event<br />声明事件。<br />extern<br />指示在外部实

2010-08-28 20:15:00 428

转载 修饰符(C# 参考)

<br />修饰符用于修改类型和类型成员的声明。本节介绍 C# 修饰符:<br />修饰符<br />用途<br />访问修饰符<br />public<br />private<br />internal<br />protected<br />指定声明的类型和类型成员的可访问性。<br />abstract<br />指示某个类只能是其他类的基类。<br />const<br />指定无法修改字段或局部变量的值。<br />event<br />声明事件。<br />extern<br />指示在外部实

2010-08-28 20:13:00 330

转载 jn

namespace WrapTwoInterfaceEvents{ using System; public interface IDrawingObject { // Raise this event before drawing // the object. event EventHandler OnDraw; } public interface IShape {

2010-08-28 19:47:00 388

转载 如何:实现接口事件(C# 编程指南)

<br />接口可声明事件。下面的示例演示如何在类中实现接口事件。实现接口事件的规则与实现任何接口方法或属性的规则基本相同。在类中实现接口事件<br />在类中声明事件,然后在适当的区域调用该事件。<br />namespace ImplementInterfaceEvents{ public interface IDrawingObject { event EventHandler ShapeChanged; } public class My

2010-08-28 19:38:00 356

转载 接口中的索引器(C# 编程指南)

<br />索引器可在 接口(C# 参考) 上声明。接口索引器的访问器与类索引器的访问器具有以下方面的不同:<br />接口访问器不使用修饰符。<br />接口访问器没有体。<br />因此,访问器的用途是指示索引器是读写、只读还是只写。<br />以下是接口索引器访问器的示例:<br />public interface ISomeInterface{ //... // Indexer declaration: string this[int index]

2010-08-28 19:22:00 362

转载 Interface Properties (C# Programming Guide)

<br />可以在接口(C# 参考)上声明属性。以下是接口索引器访问器的示例:<br />public interface ISampleInterface{ // Property declaration: string Name { get; set; }}<br />接口属性的访问器不具有体。因此,访问器的用途是指示属性是否为读写、只读或只写。<br />示例<br /><br />在此例中,接口 IEmp

2010-08-28 18:48:00 610

转载 How to: Explicitly Implement Interface Members with Inheritance (C# Programming Guide)

<br />显式接口实现还允许程序员实现具有相同成员名称的两个接口,并为每个接口成员各提供一个实现。本示例同时以公制单位和英制单位显示框的尺寸。Box 类实现 IEnglishDimensions 和 IMetricDimensions 两个接口,它们表示不同的度量系统。两个接口有相同的成员名称 Length 和 Width。<br />// Declare the English units interface:interface IEnglishDimensions{ float Le

2010-08-28 17:27:00 283

转载 How to: Explicitly Implement Interface Members with Inheritance (C# Programming Guide)

<br />显式接口实现还允许程序员实现具有相同成员名称的两个接口,并为每个接口成员各提供一个实现。本示例同时以公制单位和英制单位显示框的尺寸。Box 类实现 IEnglishDimensions 和 IMetricDimensions 两个接口,它们表示不同的度量系统。两个接口有相同的成员名称 Length 和 Width。<br />// Declare the English units interface:interface IEnglishDimensions{ float Le

2010-08-28 17:16:00 326

转载 How to: Explicitly Implement Interface Members with Inheritance (C# Programming Guide)

<br />显式接口实现还允许程序员实现具有相同成员名称的两个接口,并为每个接口成员各提供一个实现。本示例同时以公制单位和英制单位显示框的尺寸。Box 类实现 IEnglishDimensions 和 IMetricDimensions 两个接口,它们表示不同的度量系统。两个接口有相同的成员名称 Length 和 Width。<br />// Declare the English units interface:interface IEnglishDimensions{ float Le

2010-08-28 17:15:00 353

转载 How to: Explicitly Implement Interface Members with Inheritance (C# Programming Guide)

<br />显式接口实现还允许程序员实现具有相同成员名称的两个接口,并为每个接口成员各提供一个实现。本示例同时以公制单位和英制单位显示框的尺寸。Box 类实现 IEnglishDimensions 和 IMetricDimensions 两个接口,它们表示不同的度量系统。两个接口有相同的成员名称 Length 和 Width。<br />// Declare the English units interface:interface IEnglishDimensions{ float Le

2010-08-28 17:14:00 361

转载 How to: Explicitly Implement Interface Members with Inheritance (C# Programming Guide)

<br />显式接口实现还允许程序员实现具有相同成员名称的两个接口,并为每个接口成员各提供一个实现。本示例同时以公制单位和英制单位显示框的尺寸。Box 类实现 IEnglishDimensions 和 IMetricDimensions 两个接口,它们表示不同的度量系统。两个接口有相同的成员名称 Length 和 Width。<br />// Declare the English units interface:interface IEnglishDimensions{ float Le

2010-08-28 17:12:00 371

转载 How to: Explicitly Implement Interface Members (C# Programming Guide)

<br />本示例声明一个 接口IDimensions 和一个类 Box,该类显式实现接口成员 getLength 和 getWidth。通过接口实例 dimensions 访问这些成员。示例:<br />interface IDimensions{ float getLength(); float getWidth();}class Box : IDimensions{ float lengthInches; float widthInches;

2010-08-28 17:10:00 477

转载 接口(C# 编程指南)

<br />接口使用 interface 关键字进行定义,如下面的示例所示:<br />interface IEquatable<T><br />{<br />    bool Equals(T obj);<br />}<br />接口描述的是可属于任何类或结构的一组相关功能。接口可由方法、属性、事件、索引器或这四种成员类型的任意组合构成。接口不能包含字段。接口成员一定是公共的。<br />当类或结构继承接口时,意味着该类或结构为该接口定义的所有成员提供实现。接口本身不提供类或结构能够以继承基类功能的方式继

2010-08-28 17:00:00 310

转载 显式接口实现(C# 编程指南)

<br />如果类实现两个接口,并且这两个接口包含具有相同签名的成员,那么在类中实现该成员将导致两个接口都使用该成员作为它们的实现。例如:<br />interface IControl{ void Paint();}interface ISurface{ void Paint();}class SampleClass : IControl, ISurface{ // Both ISurface.Paint and IControl.Paint ca

2010-08-28 16:47:00 349

转载 接口

<br />接口只包含方法、属性、事件或索引器的签名。实现接口的类或结构必须实现接口定义中指定的接口成员。在下面的示例,类 ImplementationClass 必须实现一个不具有参数并返回 void 的名为 SampleMethod 的方法。<br />interface ISampleInterface{ void SampleMethod();}class ImplementationClass : ISampleInterface{ // Explicit

2010-08-28 16:40:00 304

转载 Silverlight 使用控件模板定制控件

<br />前面的示例中我们只是定制了控件的内容,Silverlight允许我们完全对控件进行定制,而不仅仅是内容。下面的示例中我们定制一个渐变色的圆角矩形按钮。首先我们在App.xaml中创建一个RoundButton样式,改写按钮的Template属性:<br /><Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.micr

2010-08-26 14:56:00 456

转载 Silverlight 使用样式封装控件观感

<br />Silverlight 支持一种 Style 机制,它允许我们把控件的属性值封装成可重用的资源。我们可以把这些样式声明保存在独立于页面的其他文件中,然后就可以在一个应用程序中跨控件和页面重用(甚至跨多个应用程序重用)。在做一些基本定制的场景下,概念上类似于在 HTML 中重用 CSS。<br />内联样式 内联样式这个概念其实跟我们在HTML中指定元素的样式一样,在XAML中通过属性来设置钮,并在其中设置字体的样式:<br /> <br />使用内联样式不是一种很好的做法,样式不可重用,页面XA

2010-08-26 13:21:00 385

转载 Silverlight 理解.xap文件

<br />该文件是一个标准的.NET程序集,在编译的时候所有的XAML标识和资源文件如图片等都会包含在里面,采用了标准的Zip压缩算法,以减少客户端下载的文件体积。拷贝一份该文件,并且修改后缀名.xap为.zip,并且解压缩,可以看到里面包含了一些dll文件和一个AppManifest.xaml:

2010-08-25 19:01:00 512

转载 C#值类型与引用类型

<br />在开始介绍C#中的数据类型之前,理解C#把数据类型分为两种是非常重要的:<br /> 值类型<br />引用类型<br />下面将详细介绍值类型和引用类型的语法。从概念上看,其区别是值类型直<br />接存储其值,而引用类型存储对值的引用。<br />这两种类型存储在内存的不同地方:值类型存储在堆栈中,而引用类型存储<br />在托管堆上。注意区分某个类型是值类型还是引用类型,因为这种存储位置的不<br />同会有不同的影响。<br />例如,int 是值类型,这表示下面的语句会在内存的两个地方

2010-08-25 15:51:00 358

转载 C#多线程学习(六) 互斥对象

<br />如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类。 我们可以把Mutex看作一个出租车,乘客看作线程。乘客首先等车,然后上车,最后下车。当一个乘客在车上时,其他乘客就只有等他下车以后才可以上车。而线程与Mutex对象的关系也正是如此,线程使用Mutex.WaitOne()方法等待Mutex对象被释放,如果它等待的Mutex对象被释放了,它就自动拥有这个对象,直到它调用Mutex.ReleaseMutex()

2010-08-24 14:46:00 305

转载 C#多线程学习(五) 多线程的自动管理(定时器)

<br />Timer类:设置一个定时器,定时执行用户指定的函数。 定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数。 初始化一个Timer对象: Timer timer = new Timer(timerDelegate, s,1000, 1000); // 第一个参数:指定了TimerCallback 委托,表示要执行的方法; // 第二个参数:一个包含回调方法要使用的信息的对象,或者为空引用; // 第三个参数:延迟时间——计时开始的时刻距现在的时间,单位是毫秒,指定为“0”表示立即启动计

2010-08-24 13:54:00 332

转载 ThreadPool 线程池[c#]

<br />ThreadPool(线程池)是一个静态类,它没有定义任何的构造方法(),我们只能够使用它的静态方法,这是因为,这是因为ThreadPool是托管线程池,是由CLR管理的。<br />ThreadPool使用WaitCallback委托,它所要做的工作是在后台进行的。使工作项的排队和运行更容易,可以给工作者线程传递一个状态对象(提供数据)。状态对象是私有的作用域位于线程层,所以不需要进行同步。<br />ThreadPool目标是为了减除线程的初始化开销,实现并行处理。.NET类库中的Threa

2010-08-24 13:12:00 963

转载 C#线程池

<br />许多应用程序使用多个线程,但这些线程经常在休眠状态中耗费大量的时间来等待事件发生。其他线程可能进入休眠状态,并且仅定期被唤醒以轮询更改或更新状态信息,然后再次进入休眠状态。为了简化对这些线程的管理,.NET框架为每一个进程提供了一个线程池,使应用程序能够根据需要来有效地利用多个线程。一个线程监视排到线程池的若干个等待操作的状态。当一个等待操作完成时,线程池中的一个辅助线程就会执行对应的回调函数。线程池中的线程由系统进行管理,程序员不需要费力于线程管理,可以集中精力处理应用程序任务。<br />线

2010-08-24 13:07:00 635

ECMA-335 Ecma335标准 CLI

ECMA-335 Ecma335标准 CLI

2023-10-09

phpredis4.2.0

php redis插件 phpredis4.2.0,php5.6 redis5.0.4验证可以正常使用

2020-11-03

redis5.0.4集群

redis5.0.4在一台服务器搭建的3主3从集群,可以通过修改data中nodes-7001.conf,nodes-7002.conf,nodes-7003.conf,nodes-7004.conf,nodes-7005.conf,nodes-7006.conf中得ip改成真实集群

2020-11-02

erlang安装包.zip

centos6.8安装erlang openssl-1.0.1g.tar.gz otp_src_R16B03.tar.gz 安装步骤参考 http://flybirdcode.com/article/92

2020-01-10

peb-0.20b.tar.gz

php的erlang PHP Erlang Bridge https://mirror.pnl.gov/macports/distfiles/php5-peb/

2020-01-10

glibc-2.14.zip

centos升级glibc 到glibc_2.14,rpm包,省去各种麻烦 strings /lib64/libc.so.6 | grep GLIBC

2019-06-14

android开发中Intent在两个Activity间传值示例

android开发中Intent在两个Activity间传值示例

2011-04-07

iPhoneAppProgrammingGuide

iPhoneAppProgrammingGuide,移动开发

2010-12-20

asp.net 试题及答案

ASP.NET相关试题及答案 1.填空 2. 不定项选择 3. 简述 4. 写出一条Sql语句 5 .列举

2010-01-09

离散资料课件习题,基础

离散基础知识,相应习题 离散数学理论,分析,题解 左孝凌 李永才

2010-01-05

学生成绩管理系统(供教师使用)

1、xxSetup.exe是超级学校成绩分析系统,自带服务器,可以发布成绩。 2、pySetup.exe是班主任成绩与评语管理系统,可以下载和管理成绩,制作评语。 3、CJTW2007.exe是超级提问,用于课堂提问。 3、构建校园网成绩发布系统:级部主任或网络管理员的机器上安装《超级学校成绩分析系统》,所有班主任的机器上安装班主任成绩与评语管理系统,即可随时下载和管理学生成绩和相关统计信息,方便快捷,稳定可靠。

2009-12-17

c#初级知识课件(winform,.net)

c#初级知识课件(winform,.net),介绍c#入门语法,Ado.net,等

2009-12-17

C#学生成绩管理系统(源代码)

c#学生成绩管理系统,有助于初学者,希网对你有帮助

2009-12-17

记事本程序(含源码)

记事本源码,适合初学者,希望对大家有所帮助

2009-12-17

c++软件源码集合c++ 小软件,源码

c++ 小软件,源码c++ 小软件,源码c++ c++ 小软件,源码小软件,源码

2009-11-12

软件工程导论(数据流图的详细画法)

讲述了结构化分析与设计,数据流图的画法,数据字典,等软件工程基础知识,适合初学者.

2009-11-12

c#倒计时程序(带有源码的)

倒计时程序,带有源码,倒计时到会有提示声音,适合初学者

2009-11-02

sql2000基础知识

简述sql基础语法,适合初学者,简单易懂,很容易学的

2009-11-01

jsp(适合初学者)

适合初学者,希望对大家有所帮助。jsp 我们共同拥有

2009-07-13

jsp课件(初学版)

本课件适合初学者,希望对大家有帮助。努力哦。

2009-07-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除