自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

My diary

----of reading and studying

  • 博客(73)
  • 资源 (53)
  • 收藏
  • 关注

翻译 Head First C# 中文版 第10章 异常处理 page456

 当你要调用的方法有风险的时候会怎么样?用户的行为是不可预期的。他们会给你的程序输入各种奇怪的数据,还会以你不可预期的方式点击一些东西。不过这也不要紧,因为你可以用良好的异常处理来处理未预期的输入。      ①我们来假设用户正在使用你的代码,并给出了一些程序未预期的输入。     

2009-05-31 22:01:00 562

原创 格物致知 《Effective C#》读书笔记--验证类型转换

 as看起来很好用的样子,不会抛出异常,只要根据返回值是否为null来做不同的处理就可以了。但是它也不是万金油,以下的情况as就不适用:①值类型比如:    double d = 100.0;int valueType = d as int;

2009-05-31 19:02:00 2200

翻译 Head First C# 中文版 第10章 异常处理 page455

 用try和catch来处理异常在C#中,你基本可以这么说,“try一下这段代码,如果出现异常,就用另一段代码catch一下。”用来try的那段代码就是try块,而处理异常的那一段代码就是catch块。在catch块中,你可以打印出一段友好的错误信息,而不是让程序突然的停下来。

2009-05-31 18:28:00 475

翻译 Head First C# 中文版 第10章 异常处理 page454

 实际上,你是可以处理这种情况的。对,用户总会搞错。这是事实。但是这并不意味着你对此无法处理。有一个名词,它描述程序优雅的处理不合适的输入和其他未预期的情况:这个名词叫做鲁棒(健壮性)。C#给你提供了一些很有用的异常处理的工具来把你的程序写得更健壮。虽然你无法控制用户的行为,但是你可以确保你的程序在用户搞错的时候不会崩溃。

2009-05-30 18:46:00 567

翻译 Head First C# 中文版 第10章 异常处理 page453

 啊...代码还是有问题...Brian用借口管理器用的很开心,突然想起来最初创建这个程序的时候曾经创建了一个装满借口文件的文件夹--但是他忘记了那个文件夹是创建在他给程序添加序列化能力之前的。我们来看看发生什么事了...①你可以通过用记事本创建基于文本的借口文件来重现Brian的问题。文件中第

2009-05-30 10:24:00 419

翻译 Head First C# 中文版 第10章 异常处理 page452

  问:Brian的未处理异常窗口看起来怎么和在IDE中不一样? 答:在IDE中运行的时候,实际是在用调试器运行程序,任何时候遇到了异常,调试器将会暂停程序并把异常显示在一个有用的窗口中。这样你就可以跟踪异常信息并检查程序的字段、变量来解决问题。Brian运行程序的时候是在IDE之外运行的。

2009-05-29 22:36:00 409

翻译 Head First C# 中文版 第10章 异常处理 page451

 ③使用监视窗口监视窗口是调试器提供的一个很有用的特性,它让你可以检查对象中的字段和变量的值。把鼠标悬停在fileName.Length上,然后右击选择“添加监视”。它将会被添加到监视窗口中去。然后把random.Next(fileName.Length)添加进去。下图是监视窗口看起来的样子,这取决于你指向的文件夹中有多少文件--这里,我

2009-05-29 16:37:00 527

翻译 Head First C# 中文版 第10章 异常处理 page450

 使用调试器找出借口管理程序中到底什么出了错我们来用调试器近距离观察一下借口管理程序中我们遭遇到的问题吧。这是个练习使用调试器的好机会,因为你已经知道你要找的是什么了。(绝大多数情况下没有这种奢侈的享受啊!)①用断点来停止或者暂停你的程序你已经有着手点了--选择一个空文件夹后点击Random Exc

2009-05-29 10:35:00 483

翻译 Head First C# 中文版 第10章 异常处理 page449

 调试器帮你跟踪并避免代码中的异常在你向程序中添加异常处理之前,先要知道哪句代码抛出了异常。这就是IDE中内建的调试器显身手的地方了。运行调试器的时候,IDE会弹出一个工具栏,上面有一些很有用的按钮。花一分钟用鼠标在上面划过,看看它们的名字和快捷键。 调试就是逐语句的运行程序来观察发生了什么

2009-05-28 21:11:00 421

翻译 Head First C# 中文版 第10章 异常处理 page448

 所有的异常都继承自Exception.NET有很多种异常。由于很多异常有许多相似的特性,那这儿就用的上继承了。.NET定义了一个基类,叫做Exception,所有的异常类都要继承自它。Exception类有两个很有用处的成员。Message属性存储了关于出了什么问题的简单易读的信息。Sta

2009-05-28 16:56:00 565

翻译 Head First C# 中文版 第10章 异常处理 page447

 ④最后发现Directory.GetFiles()方法在你把它指向一个空文件夹的时候会返回一个空数组。嘿,我们可以测试它!我们可以添加一个检查,在打开文件之前确保文件夹不为空,然后未处理的异常窗口会被替换为含有丰富信息的MessageBox。  对。异常是一种很有用的工具,你可以用它找到代码中以未预期

2009-05-28 10:37:00 423

翻译 Head First C# 中文版 第10章 异常处理 page446

 Brian的代码做了一些我们没有预期到的事儿Brian写这个程序的时候,没有想到用户会试图去从一个空文件夹中取出随机的借口。①Brian把程序指向笔记本上的一个空文件夹并点击Random Button的时候就发生了这个问题。我们来看看可不可以找出出了什么问题。下面是我们在IDE之外运行程序的时候弹

2009-05-27 22:28:00 407

翻译 Head First C# 中文版 第10章 异常处理 page445

  问:为什么有这么多种异常?答:有很多种情况下你都可能会写出C#无法应付的问题。如果程序只是给出一个概述的错误信息,那么检错就会变得很困难。如果确切的知道出了什么错误再去检错就容易多了。问:说真的,什么是异常?答:它是程序出问题的时候.NET创建的一个对象。

2009-05-27 11:11:00 778

翻译 Head First C# 中文版 第10章 异常处理 page444

 你的程序抛出一个异常的时候,.NET就会生成一个Exception对象你已经看到.NET是以何种方式告诉你程序中出错了的:一个异常。在C#中,异常发生的时候,就会生成一个代表所发生问题的对象。毫无悬念,它叫做Exception。比如,你有一个含有4个元素的数组。然后你试着去访问第十

2009-05-26 18:03:00 418

翻译 Head First C# 中文版 第10章 异常处理 page443

DividedByZero异常并不一定要发生。你可以通过观察知道代码中有些地方有问题。其他的异常也是一样。这些异常都是可以避免的--对于异常了解的越多,就越能够避免程序崩溃。

2009-05-26 09:13:00 475

翻译 Head First C# 中文版 第10章 异常处理 page442

  你的任务就是把出问题的代码和出的问题匹配起来。

2009-05-25 21:19:00 393

翻译 Head First C# 中文版 第10章 异常处理 page441

  下面的代码有问题。这段代码会抛出五个异常,错误信息显示在右侧。你的任务就是把抛出异常的代码和异常匹配起来。读读异常消息,那有很好的提示作用。  

2009-05-25 17:21:00 417

翻译 Head First C# 中文版 第10章 异常处理 page440

 Brian的借口要是可移动的Brian最近换到了国际部去工作。他现在整天坐飞机各处跑。但是他还是需要掌管着自己的借口,所以他把你写的程序装在了自己的笔记本上,走到哪儿带到哪儿。 但是程序不能运行!Brian点击了“Random Excuse”按钮,看到了一个很糟糕的

2009-05-25 16:55:00 482

翻译 Head First C# 中文版 第10章 异常处理 page439

   程序员并不一定要做消防员你努力的工作,阅读了很多的技术手册和一些有趣的Head First书,你已经达到了专业领域的象牙塔:程序员大师。但是你的程序还是会崩溃,或者其行为与预期不符。并不是让你戒掉愉悦的编程习惯去修复一些奇怪的bug....但是有了异常处理,你可以写代码来处理出现的问题。更好的是,你可以对这些问题做出反应,而

2009-05-25 09:00:00 660

原创 Head First C# 中文版 第九章 读写文件 翻译完毕 PDF下载

2009-05-24 10:57:00 734

原创 Head First C# 中文版 第九章 读写文件 翻译完毕 PDF下载

第九章PDF下载:http://download.csdn.net/source/1344624另外:第八章PDF下载:http://download.csdn.net/source/1258221第七章PDF下载:http://download.csdn.net/source/1176195第六章PDF下载:http://download.csdn.net/sourc

2009-05-24 10:47:00 702 6

翻译 Head First C# 中文版 第九章 读写文件 page436

 修改Brian的借口生成器为使用序列化的Excuse对象的二进制文件而不是使用文本文件。窗体代码只需要修改四行:Save按钮的事件处理方法内有两行,Open按钮的事件处理方法两行--只是把对话框修改为过滤掉.excuse后缀名之外的文件。

2009-05-24 10:39:00 407

翻译 Head First C# 中文版 第九章 读写文件 page435

 修改Brian的借口生成器为使用序列化的Excuse对象的二进制文件而不是使用文本文件。①让Excuse类可以被序列化给Excuse类添加[Serializable]特性来使得它可以被序列化。还有,你需要添加下面这一行:using System.Runtime.Serializatio

2009-05-24 09:26:00 546

翻译 Head First C# 中文版 第九章 读写文件 page434

  问:为什么我用完File.ReadAllText()和File.WriteAllText()之后不需要用Close()方法来关闭文件?答:File类中含有一些很有用的静态方法,它们自动的打开文件,读写数据,然后再自动关闭文件。这些方法都可以自动的打开和关闭流,所以你可以只用一行代码来完成文件操作了。

2009-05-23 22:14:00 540

翻译 Head First C# 中文版 第九章 读写文件 page433

 StreamReader和StreamWriter可以胜任我们的十六进制转储将会把转储输出到文件,由于仅仅是写出文本,所以StreamWriter就可以胜任了。不过我们也可以使用StreamReader的ReadBlock()方法。它把一块字符读取进一个char数组--由你指出你想要读取的字符数,本方法有可能

2009-05-23 09:20:00 383

翻译 Head First C# 中文版 第九章 读写文件 page432

 用文件流来创建一个十六进制转储十六进制转储是以十六进制的方式查看文件,程序员通常以这种方式来深入了解文件内部结构。绝大多数操作系统自带有内建的十六进制组件。很不巧,Windows没有。那么我们自己来创建一个吧!如何创建一个十六进制转储一下面这段熟悉的文本开始:We 

2009-05-22 17:36:00 467

翻译 Head First C# 中文版 第九章 读写文件 page431

 操作二进制文件有点麻烦如果你有一个文件但是并不知道里面是什么内容你会怎么办?你不知道什么应用创建了它,你需要了解它--但是你用记事本打开它的时候,内容看起来像是一堆垃圾。如果你已经试过了用所有方法来看看文件内部都告失败又怎么样呢?看看下面的图,很明显,记事本不是正确的选择。 还有一个选择--一种叫做十六进制转储的格式,这是查看二进制数据的标准方式。这比

2009-05-21 19:02:00 369

翻译 Head First C# 中文版 第九章 读写文件 page430

 找到文件在哪儿有区别,并用该信息来修改文件 你刚刚写的循环刚好指出了两个序列化文件的区别。由于两个对象的区别仅仅就是其花色和牌面值,所以文件的区别也应该在于此。所以如果我们找到了存储花色和牌面值的字节,我们应该就可以把它改造成我们想要的新牌。 ③观察控制台的输出,看看两个文件有什么区别 控制台应该会显示出有两个字节不同: Byte #218

2009-05-21 13:58:00 459

翻译 Head First C# 中文版 第九章 读写文件 page429

 你也可以手动的读写序列化的文件你用记事本打开序列化的文件的时候,它看起来不怎么漂亮。你可以在你的项目下的“bin/Debug”目录下找到所有写出的文件--花点时间来了解一下序列化文件的内部。①把两个Card对象序列化到不同的文件用你原来写过的代码来把方片三写到card1.dat并把红桃六写到card2.dat。确保两个文件都被写出了,而且处于同一个文件

2009-05-21 08:50:00 457

翻译 Head First C# 中文版 第九章 读写文件 page428

   使用BinaryReader来把数据读取回来 BinaryReader和BinaryWriter的工作方式很相似。创建一个流,把流和BinaryReader对象联系起来,然后调用BinaryReader的方法。但是二进制读取器并不知道文件中存储的是什么数据!而且也无从得知。你的值为491.695F的float值编码为d8 f5 43 45。但是把它解释为值为1

2009-05-20 19:51:00 414

翻译 Head First C# 中文版 第九章 读写文件 page427

 使用BinaryWriter来写出二进制数据你可以在写文件之前把字符串,字符,整数,和浮点数编码为字节数组,但是这很麻烦。所以.NET给你提供了一个很有用的类叫做BinaryWriter,它自动把你的数据编码并把它们写到文件。你只需要创建一个FileStream并把它传递进BinaryWriter的构造方法内。然后就调用BinaryWriter的方法来写出数据。所以再向窗体添加一

2009-05-17 18:44:00 472

翻译 Head First C# 中文版 第九章 读写文件 page426

 C#可以用字节数组来移动数据由于你所有的数据最后都被编码为字节,那么把一个文件想象为一个很大的字节数组就很合理了。而且你已经知道如何读写字节数组了。

2009-05-17 12:13:00 412

翻译 Head First C# 中文版 第九章 读写文件 page425

 .NET自动把文本转化为Unicode编码C#中用于存储文本的两种值类型--string和char--它们的数据在内存中以Unicode的形式保存。这些数据被写以字节的形式到文件的时候,每一个Unicode字符也就被写到文件了。新建一个项目,向窗体上拖拽三个按钮,我们来使用File.WriteAllBytes()和ReadAllBytes()方法来感受一下Unicode数据到底是

2009-05-17 09:42:00 588

翻译 Head First C# 中文版 第九章 读写文件 page424

  把一个对象序列化到文件的时候,是以二进制格式写的。这并不意味着它不可读--只是紧凑而已。你打开序列化对象的文件的时候你可以识别里面的字符串的原因就是因为C#把字符串写入到文件的最紧凑的方式就是作为字符串写入。但如果把数字作为字符串写入文件的话就太浪费了。任何int都可以用四个字节存储起来。所以如果C#把数字49,369,144以你可以阅读的方式作为八个字符(算上逗号就是

2009-05-16 17:00:00 494

翻译 Head First C# 中文版 第九章 读写文件 page423

 ④好了,准备工作完成了...现在把那副牌序列化吧首先添加一个按钮来序列化随机的一副牌并把它读取回来。检查控制台的输出以确保输出的牌和你读取进来的是一样的。 ⑤现在把几副牌序列化到同一个文件打开一个流之后,你可以向其中写入你想要的任意多的数据。你可以根据需要把任意多个对象序列化到同一个文件。所以现在再添加两个按钮来写随机多副牌到文件中去。检查输出以确

2009-05-16 10:28:00 401

原创 CET口语证书,呕嘢~~~~~~~~~~~~

2009-05-15 22:46:00 907 1

原创 CET口语的证书,呕嘢~~~~~~~~

2009-05-15 22:42:00 680 5

翻译 Head First C# 中文版 第九章 读写文件 page422

 我们来序列化并反序列化一副扑克把一副牌写入文件。C#把序列化对象做得很简单。你只需要创建一个流并且写出你的对象。①创建一个新项目并且添加Deck和Card类进去你还需要添加两个比较器类,因为Deck需要它们。IDE将会把文件复制进项目中去--一定要把类文件开头的namespace那一行修改掉,以确定它和当前的项目的命名空间相匹配。②让所有的

2009-05-15 17:32:00 447

翻译 Head First C# 中文版 第九章 读写文件 page421

 如果你想让你的类可以被序列化,对其应用[Serializable]特性特性是添加在C#类之前的特殊标签。C#就是这样存储关于你的代码的元数据或者代码应该如何被使用或对待的方式的。在你的类声明之前添加[Serialization]就是告诉C#你的这个类对于序列化是安全的。一个类的字段必须是值类型或者可序列化的类型才可以应用[Serialization]特性。如果你把这个特性应用

2009-05-14 13:29:00 481

翻译 Head First C# 中文版 第九章 读写文件 page420

 序列化让你可以读写对象可以写入文件的并不仅仅是一行一行的文本。你可以用序列化让程序把对象写入文件并且还可以读取回来...只需要写几行代码而已!要做序列化需要做一点前期工作--给想要序列化的类前面添加一行[Serializable]--做完这一步就万事俱备了。你需要一个BinaryFormatter对象如果你想序列化一个对象--你要首先创建一个Binar

2009-05-13 13:22:00 396

MLDN魔乐科技_Oracle课堂7

MLDN魔乐科技_Oracle课堂7 8 多表查询基本语法 多表查询的语法、笛卡尔积的使用

2009-04-01

MLDN魔乐科技JAVA培训_Oracle课堂6_排序、单行函数

MLDN魔乐科技JAVA培训_Oracle课堂6_排序、单行函数

2009-03-30

MLDN魔乐科技_Oracle课堂5

MLDN魔乐科技_Oracle课堂5 5 限定查询 使用WHERE子句完成限定查询的操作、各个限定符的使用

2009-03-29

MLDN魔乐科技_Oracle课堂4

MLDN魔乐科技_Oracle课堂4 4 简单SQL语法 SQL语法的基本格式、简单查询语句的操作

2009-03-29

MLDN魔乐科技_Oracle课堂3

MLDN魔乐科技_Oracle课堂3 3 常用表介绍 dept、emp、salgrade等常用表的作用

2009-03-29

Head First C# 中文版 图文皆译 第六章 继承 翻译完毕 PDF下载

Head First C# 中文版 图文皆译 第六章 继承 翻译完毕 PDF下载

2009-03-16

用GDI+模拟DDA算法

用GDI+模拟DDA算法 计算机图形技术

2009-03-02

SWPU学分绩点计算器女生版

SWPU 学分绩点 计算器 女生版 所谓女生版就是指的GUI稍微美化了一点点,我承认是标题党....

2009-02-06

西南石油大学--学分绩点计算器(用C#编写,需要有.NET 2.0)

西南石油大学--学分绩点计算器(用C#编写,需要有.NET 2.0)

2009-01-16

niit j2me 考试真题

CSDN上找得到的都在里面了 niit j2me java me 考试真题

2008-12-12

Head.First.C#.中文版.图文皆译.第十一章.事件和委托.翻译完毕.PDF下载

Head.First.C#.中文版.图文皆译.第十一章.事件和委托.翻译完毕.PDF下载

2008-11-14

Head.First.C#.中文版.图文皆译.第二章.PDF

Head.First.C#.中文版.图文皆译.第二章.PDF连载:http://blog.csdn.net/cuipengfei1

2008-10-31

Head.First.C#.中文版.第一章

Head First C#中文版第一章 连载地址:http://blog.csdn.net/cuipengfei1 SWPU崔鹏飞翻译,欢迎提出其中的错误。

2008-10-20

niit j2me 作业题+答案

niit j2me 作业题+答案 代码片段public class Program { public static void main(String[] args) { for (int i = 10; i <= 99; i++) { if (i * i > 999) { continue; } if ((i * i) % 100==i) { System.out.println("符合条件的:"+i); System.out.println("百位数:"+((i * i) - ((i * i) % 100))/100); } } } }

2008-09-08

不用开音响也可以出声音

不用开音响也可以出声音

2008-07-08

vb.net做的播放器

vb.net做的播放器

2008-04-27

jsp 购物车 niit

jsp 购物车 niit

2008-01-15

JAVA帮助文档中文版

JAVA帮助文档中文版

2008-01-15

xml vb niit sm3 mt1考试答案截图崔鹏飞

xml vb niit sm3 mt1考试答案截图崔鹏飞提供88分

2008-01-14

xml vb niit sm3 mt1考试答案截图

xml vb niit sm3 mt1考试答案截图

2008-01-14

原来没上传成功的words via subtitle

原来没上传成功的words via subtitle

2010-10-04

More Effective C#

More Effective C# PDF 299页

2010-03-30

使用AvalonDock制作WPF多标签浏览器

AvalonDock是CodePlex上的一个开源项目,利用它可以很容易的做出类似于VS的UI效果。可以用这款第三方控件为基础来制作多标签浏览器。

2010-03-17

Words Via Subtitle改进:视频播放例句、加快生成WPS文档的速度

Words Via Subtitle改进:视频播放例句、加快生成WPS文档的速度

2009-09-17

Words Via Subtitle

上周写了一个通过英文剧集、电影学单词的小工具 ,这几天又做了一点小的改进。 1. 显示单词解释的同时显示其在剧中出现的语境,关键单词红色显示。 2. 导出文档。可以把列表中的单词,其简明解释和在剧中出现的语境保存到文档中。关键词开头绿色显示,例句中红色显示。效果如下:

2009-09-10

通过英文剧集、电影学单词

我平时很喜欢看美剧和电影。而如果看中文字幕(看英文字幕也是一样)的话,注意力就会集中于阅读文字、理解剧情,练习听力的目的就落空了。而如果不看字幕的话,对话中的很多生词就会随着对句子的大致理解而溜过去了,所以最好是看之前把对白中会出现的单词预览一次以为预习,看的过程中再熟悉一次,看完之后还可以针对用得到的单词再记一次。为了实现这个目的,我写了一个小程序。

2009-09-03

easyMule自动关机工具(可用于1.X和2.0版本)

前几天发的程序只可以用于easyMule1.X版本,今天改写了一下,可以适用于2.0 http://blog.csdn.net/cuipengfei1/archive/2009/09/01/4508391.aspx

2009-09-01

电驴(easyMule)自动关机工具

由于电驴官方鼓励尽量多的上传,所以不提供下载完关机的功能。于是我自己写了个小工具来实现这个功能。

2009-08-21

MLDN魔乐科技_Oracle课堂19_修改约束、ROWNUM

MLDN魔乐科技_Oracle课堂19_修改约束、ROWNUM MLDN魔乐科技_Oracle课堂19_修改约束、ROWNUM

2009-04-20

MLDN魔乐科技_Oracle课堂18_外键约束

MLDN魔乐科技_Oracle课堂18_外键约束 MLDN魔乐科技_Oracle课堂18_外键约束

2009-04-18

MLDN魔乐科技_Oracle课堂17_约束

MLDN魔乐科技_Oracle课堂17_约束 MLDN魔乐科技_Oracle课堂17_约束

2009-04-18

MLDN魔乐科技_Oracle课堂16_表的管理

MLDN魔乐科技_Oracle课堂16_表的管理 MLDN魔乐科技_Oracle课堂16_表的管理

2009-04-16

MLDN魔乐科技_Oracle课堂15_SQL语法练习2

MLDN魔乐科技_Oracle课堂15_SQL语法练习2 MLDN魔乐科技_Oracle课堂15_SQL语法练习2

2009-04-16

MLDN魔乐科技JAVA培训_Oracle课堂14_SQL语法练习1

MLDN魔乐科技JAVA培训_Oracle课堂14_SQL语法练习1 MLDN魔乐科技JAVA培训_Oracle课堂14_SQL语法练习1

2009-04-10

MLDN魔乐科技_Oracle课堂13_事务处理

MLDN魔乐科技_Oracle课堂13_事务处理 MLDN魔乐科技_Oracle课堂13_事务处理

2009-04-08

MLDN魔乐科技_Oracle课堂12_数据库更新操作

MLDN魔乐科技_Oracle课堂12_数据库更新操作 MLDN魔乐科技_Oracle课堂12_数据库更新操作

2009-04-06

MLDN魔乐科技_Oracle课堂11_子查询

MLDN魔乐科技_Oracle课堂11_子查询 MLDN魔乐科技_Oracle课堂11_子查询

2009-04-05

MLDN魔乐科技_Oracle课堂10

MLDN魔乐科技_Oracle课堂10 10 组函数、分组统计 各个组函数的作用、分组统计的使用及要求

2009-04-04

MLDN魔乐科技_Oracle课堂9

MLDN魔乐科技_Oracle课堂9 9 多表查询——左、右连接、SQL:1999语法 左、右连接操作的意义、SQL:1999语法介绍

2009-04-03

MLDN魔乐科技_Oracle课堂8

MLDN魔乐科技_Oracle课堂8 8 多表查询基本语法 多表查询的语法、笛卡尔积的使用

2009-04-02

空空如也

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

TA关注的人

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