MCTS 自控进度培训工具包 (考试 70-536): Microsoft ?.net Framework 2.0 — 应用程序开发基础注释和更正第 1 部分

文章翻译 文章翻译
文章编号: 923018 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文包含注释、 更正,和与微软出版社的书籍相关的已知错误的信息 MCTS 自控进度培训工具包 (考试 70-536): Microsoft ?.net Framework 2.0 — 应用程序开发基础,978-0-7356-2277年-7。文章 935218949730949734 中提供了用于此帐簿的额外更正。

包括以下主题:

  • CD-ROM:"非"应从删除评估问题
  • CD-ROM: 评估答案应该包括 ICollection 和 $ 不 IDictionaryEnumerator
  • CD-ROM: 评估回答还应包括 Resize 事件
  • CD-ROM: lesson3 exercise1 人员部分代码示例是缺少从 \Chapter01 文件夹
  • CD-ROM: 评估 qurestion 评分不正确
  • 第 3 页: System.Value 引用而不是 System.ValueType
  • 第 5 页: 日期/日期应为日期 / 无
  • 第 5: 4 页应为 1
  • 页 9: 注不正确
  • 页 12: 术语"定义"来代替"初始化"步骤 4 中
  • 页 14: 词汇术语结构在第 5 步中的位置使用的类
  • 页 18: 的单词"变量"是最后一句中丢失
  • 页面 24: C# 代码示例丢失
  • 页 25: C# 示例中的错误代码
  • 在代码示例中的页面 46: 校正
  • 页面 47:"指南"来代替"guid"
  • 在 VB 代码示例中的页面 49: 无效字符
  • 缺少用户类的页面 49: VB 代码示例
  • 名为不正确的页面 51: 方法
  • 页面 52:"progressBar"来代替 progressBar1 代码示例中
  • 页面 55: 的双字节到单字节转换行为的错误说明
  • 页面 58: 不正确的索引,在第二个代码示例中使用
  • 在代码中的练习 1 来代替双页 59: 小数
  • 双字节到单页面 63:"字节"来代替"扩大"
  • 页面 72:"存在属性"引用,而"exists 属性"
  • 页面 73: 字符串应 DirectoryInfo 对象
  • 描述错误的页面 74: DriveInfo 类
  • 页面 76: 未知的成员说明缺少单词"类型"
  • 访问,而不是枚举驱动器的页面 76: 过程称
  • 页面 81: 一词"添加"用来替代"创建,删除"
  • 页面 83: 驱动器引用文件夹的位置
  • 页面 83: 该术语"包含"使用在步骤 2 中的位置
  • 在第 6 步中的页面 84: 不正确方向
  • 页面 85: EnableRaisingEvents 属性称为 EnablingRaisingEvents
  • 页面 89 流类型中使用的不正确命名空间。
  • 页面 91: 建议的文件可以在创建时读取
  • 目录类的功能的页 92: 错误描述
  • 页面 92: OpenWrite 方法的描述是不正确
  • 页面 97:"读取"来代替"写入"
  • 页 100 StreamWriter 类的不正确的基本功能说明
  • 页面 104: 的示例代码的行为的错误说明
  • 页面 111: 该术语"包含"使用在步骤 2 中的位置
  • 页面 111: 错误在步骤 3 中的指令 Excercise 1
  • 页面 112: 类引用对象的位置
  • 页面 115: 不正确的 CanRead 属性的说明
  • 用来代替 CompressionMode.Decompress 页面 120: CompressionMode.Compress
  • 页面 121: 该术语"包含"使用在步骤 2 中的位置
  • 代码示例 122 121 页 (&): 不正确的第 7 步
  • 页面 122,第 9 步: 其他注意需要添加。
  • 页面 127: 术语"目录"的位置所使用的文件
  • 页面 129: IsolatedStorageFileStream 的定义不正确
  • 页面 133: 文件引用,而目录
  • 页面 135: 的术语"包含"来使用在步骤 2 中的位置
  • 页面 135: 对象引用,而类
  • 在第 3 步中的页面 135: 不正确的 Visual Basic 代码
  • 在第 4 步和第 5 步中的页面 136: 不正确的 Visual Basic 代码
  • 页面 137: 示例代码丢失
  • 项目向下第总结下的第四个符号中的数据的页 139: 说明
  • 页面 140: 的案例方案的错误说明
  • 页面 141: 计算机级别的数据作为引用程序集的数据
  • 参数的位置被相反的 146 页 145 (&):
  • 页面 146: TestRegExp 命令参数部分不正确
  • 页面 165: IsZip 方法提到 ReformatPhone 方法的位置
  • 页面 170: 应从答案 E 删除"e"。
  • 页面 187:"或索引"应被删除
  • 页面 188: 类引用,而集合
  • 页面 192: 缺少代码示例中的新行
  • 页面 192:"+ + x"的应该是"x + +"

更多信息

CD-ROM:"非"应从删除评估问题

在 CD-ROM 上课程审阅的一个问题是不正确。

更改:
"哪一项是不通常被视为与使用 COM 互操作相关联的缺点?"

若要:
"哪一项是通常被视为与使用 COM 互操作相关联的缺点?"

CD-ROM: 评估答案应该包括 ICollection 和 $ 不 IDictionaryEnumerator

在光驱上准备审阅评估中的一个问题显示如下:

您将创建一个新的集合类型,必须使用为每循环迭代的。您应该实现下列接口中的哪?(选择所有适用)
ICollection
IDictionaryEnumerator
IDictionary
IEnumerable
IEqualityCOmparer"

该评估表明答案是 IDictionaryEnumerator 和 IEnumerator。

正确的答案是: ICollection 和 IEnumerator。

CD-ROM: 评估回答还应包括 Resize 事件

在 $ 在准备情况检查评估中,中的一个问题显示如下:

"以下哪一项是 System.Windows.Forms.Button 类的事件?(选择三个)
序列化
输入
MouseHover
调整大小
单击
MosueOver"

该评估表明正确的答案是: 输入,MouseHover,单击。

该评估还应包括以下为正确答案: 调整大小。

CD-ROM: lesson3 exercise1 人员部分代码示例是缺少从 \Chapter01 文件夹

\Code\Chapter01 文件夹丢失了 Visual Basic 和 C# 代码示例"lesson3-exercise1 的人员的部分"。文件夹和文件都可从 Microsoft 下载中心下载:

lesson3.exe

有关如何下载 Microsoft 支持文件的其他信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

119591如何从联机服务获得 Microsoft 支持文件

Microsoft 扫描此文件的病毒。Microsoft 使用该文件已过帐的日期上获得的最新病毒检测软件。该文件存储在安全性得到增强的服务器,这有助于防止未经授权的情况下对其进行更改文件上。

CD-ROM: 评估 qurestion 评分不正确

在 CD-ROM 上课程审阅中的一个问题被计分不正确。

读取问题:
您正在编写的应用程序需要执行几个小时的时间,就会运行的处理。 但是,您需要应用程序以保持对在此期间用户的响应,因此您正在使用多个线程。 下面的代码示例中的哪将启动该线程中采用的方式将对其他应用程序的性能的影响降至最低?(选择所有适用)。

当问题评分时,答案的某个标记正确,但应标记不正确。

读取答案:
'VB
Dim myThreadDelegate As New ThreadStart(AddressOf ThreasWork.DoWork)
Dim mtThread As New Thread(myThreadDelegate)
myThread.StartLowPriority()

// C#
ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork);
Thread myThread = new Thread(myThreadDelegate);
myThread.StartLowPriority();

第 3 页: System.Value 引用而不是 System.ValueType

3 页上第一句之后第一个项目符号列表显示如下:

"每种类型是从 System.Value 基类型派生"。

它应显示为:

"每种类型是从 System.ValueType 基类型派生"。

第 5 页: 日期/日期应为日期 / 无

在页 5 上, 最后一行的表 1-2 的第一个单元格不正确。

更改:
"System.DateTime (日期/日期)"

若要:
"System.DateTime (日期 / 无)"

第 5: 4 页应为 1

在页 5,字节列第二行的表 1-2 的不正确。

更改:
""4

若要:
""1

页 9: 注不正确

在页 9,所注显示如下:

"注意.net 2.0
运算符关键字是.net 2.0 中的新。

这是不正确,应该被忽略注释。

页 12: 术语"定义"来代替"初始化"步骤 4 中

第 12 页,读取第一句的第 4 步:

"创建一个定义了所有的三个成员变量的构造函数,如下面的代码演示如何:"

它应显示为:

"创建一个构造函数来初始化所有的三个成员变量,如下面的代码演示如何:"

页 14: 词汇术语结构在第 5 步中的位置使用的类

在页 14,读取第一句的第 5 步:

"修改您的主代码以正确构造人员类的实例,如下面的代码示例演示:"

它应显示为:

"修改您的主代码以正确构造人员结构的实例,如下面的代码示例演示:"

页 18: 的单词"变量"是最后一句中丢失

在页 18,在最后一句,在页上的显示如下:

"当您修改为引用类型时,您修改该引用类型的所有副本。

它应显示为:

"修改引用类型变量时, 您修改该引用类型变量的所有副本。

页面 24: C# 代码示例丢失

24 页上应 VB 代码示例的正下方添加以下代码示例:

// C#

try 
{
    StreamReader sr = new StreamReader("text.txt");
    Console.WriteLine(sr.ReadToEnd);
} 

catch (System.IO.FileNotFoundException ex) 
{
    Console.WriteLine("The file could not be found.");
} 

catch (System.UnauthorizedAccessException ex)
{
    Console.WriteLine("You do not have sufficient permissions.");
}

catch (Exception ex) 
{
    Console.WriteLine("Error reading file: " + ex.Message);
}


页 25: C# 示例中的错误代码

在第 25 页上, 前三行的 VB 代码示例阅读:

Dim sr As StreamReader = New StreamReader("text.txt")
Try
	Console.WriteLine(sr.ReadToEnd)

它们应显示为:

Dim sr As StreamReader
Try
	sr = New StreamReader("text.txt")
	Console.WriteLine(sr.ReadToEnd)"

C# 的前三行代码的示例读取:
"StreamReader sr = new StreamReader("text.txt");
try
{
	Console.WriteLine(sr.ReadToEnd());"

它们应显示为:
"StreamReader sr;
try
{
	sr = new StreamReader("text.txt");
	Console.WriteLine(sr.ReadToEnd());

在代码示例中的页面 46: 校正

在页 46,C# 代码示例在第三个项目符号点不正确。

更改:
// C#
MyEventHandler handler = MyEvent;

EventArgs e = new EventArgs();

if (handler != null)
{
	// Invokes the delegates.
	handler(this, e);
}
// Note that C# checks to determine whether handler is null.
// This is not necessary in Visual Basic

若要:
// C#
EventArgs e = new EventArgs();

if (MyEvent != null)
{
	// Invokes the delegates.
	MyEvent(this, e);
}
// Note that C# checks to determine whether handler is null.
// This is not necessary in Visual Basic


页面 47:"指南"来代替"guid"

在页 47,从底部第二段的第一句中包含的不正确的属性。

更改:
"visual Studio 自动创建某些标准属性的程序集创建一个项目包括一个标题、 说明、 公司、 指南,和版本时。

若要:
"visual Studio 自动创建某些标准属性的程序集创建一个项目包括一个标题、 说明、 公司、 guid,和版本时。

在 VB 代码示例中的页面 49: 无效字符

在页 49,VB 代码示例包含一个无效的括号字符。

更改:
' VB
Imports System.Runtime.CompilerServices
<Assembly:TypeForwardedTo(GetType(DestLib.TypeA))]>

若要:
' VB
Imports System.Runtime.CompilerServices
<Assembly:TypeForwardedTo(GetType(DestLib.TypeA))>

缺少用户类的页面 49: VB 代码示例

在页 49,第二个的 VB 代码示例页的底部附近缺少"继承人员"。

更改:
' VB
Class Manager
End Class

若要:
' VB
Class Manager : Inherits Person
End Class

名为不正确的页面 51: 方法

在页上 51,在步骤 4 中的代码示例阅读:

'VB
Private Sub Form1_Shown(ByVal sender As System.Object, ByVal e As System.EventArgs) _'

and

//C#
private void Timer_Shown(object sender, EventArgs e)


它们应显示为:

'VB
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _'

and

//C#
private void Form1_Load(object sender, EventArgs e)


页面 52:"progressBar"来代替 progressBar1 代码示例中

在页面 52,要添加到"progressBar"中第一个 C# 代码示例位于顶部的页的 1 需要。

更改:
// C#
void t_Tick(object sender, EventArgs e)
{
progressBar.Value += 10;
if (progressBar.Value >= 100)
t.Stop();
}

若要:
// C#
void t_Tick(object sender, EventArgs e)
{
progressBar1.Value += 10;
if (progressBar1.Value >= 100)
t.Stop();
}


页面 55: 的双字节到单字节转换行为的错误说明

在页 55,在页的底部句子显示如下:

"双字节到单字节的转换如果源值超出了目标类型的范围,或者如果该类型之间的转换不定义失败,因此您应该将括在双字节到单字节转换 Try 块或使用 TryCast 或 TryParse 和检查返回值。

它应显示为:

"收缩转换可能会返回错误的结果如果源值超出了目标类型的范围。 如果未定义类型之间的转换,则您将收到一个编译时错误"。

页面 58: 不正确的索引,在第二个代码示例中使用

在页 58 上, 最后一行的第二个的 VB 代码示例显示如下:

Console.WriteLine("a = {0}, i = {0}", a.ToString, i.ToString)

它应显示为:

Console.WriteLine("a = {0}, i = {1}", a.ToString, i.ToString)

C# 代码示例的最后一行显示如下:

Console.WriteLine("a = {0}, i = {0}", a.ToString(), i.ToString());

它应显示为:

Console.WriteLine("a = {0}, i = {1}", a.ToString(), i.ToString());


在代码中的练习 1 来代替双页 59: 小数

在页 59,在第三行在练习 1 的第二步中的 VB 代码显示如下:

Dim db As Decimal = 1

它应显示为:

Dim db As Double = 1


双字节到单页面 63:"字节"来代替"扩大"

在页 63,第一段的第三个句子显示如下:

"C# 允许为仅双字节到单字节转换,隐式转换的信息不会丢失。

它应显示为:

"C# 允许为只扩大转换,隐式转换的信息不会丢失。

页面 72:"存在属性"引用,而"exists 属性"

在页 72,第一句后项目符号列表显示如下:

"例如,您可以检查下面的代码所示,文件是否存在通过调用 FileInfo 对象的存在属性:"

它应显示为:

"例如,您可以检查下面的代码所示,文件是否存在通过调用 FileInfo 对象的存在属性:"

页面 73: 字符串应 DirectoryInfo 对象

在页 73,描述的表 2-5 根目录不正确。

更改:
"获取以字符串形式的目录的路径的根部分"

若要:
"作为 DirectoryInfo 对象获取目录的路径的根部分"

描述错误的页面 74: DriveInfo 类

在页 74,第一句 DriveInfo 类部分下的显示如下:

DriveInfo 类提供基本功能访问和操作文件系统中的一个目录。

它应显示为:

DriveInfo 类模型的驱动器,并提供方法和属性,以查询驱动器信息。使用 DriveInfo 确定有哪些驱动器以及它们是哪种类型的驱动器。也可以查询来确定容量和可用空间在驱动器上的"。

页面 76: 未知的成员说明缺少单词"类型"

在页 76,未知成员表 2-9 的说明将显示如下:

"驱动器不能确定"。

它应显示为:

"驱动器类型不能确定"。

访问,而不是枚举驱动器的页面 76: 过程称

在页 76,如何枚举驱动器部分中的第一句读取:

"在执行此操作在系统中访问该驱动器:"

它应显示为:

"在执行此操作枚举系统中的所有驱动器:"

页面 81: 一词"添加"用来替代"创建,删除"

在页 81,第二段的第一句读取:

除了使用添加和 Changed 事件可以监视系统以重命名的文件。

它应显示为:

除了使用创建、 删除和 Changed 事件可以监视系统以重命名的文件。

页面 83: 驱动器引用文件夹的位置

在页 83,Excercise 1 的第一句读取:

"在本练习中,您将枚举通过特定的驱动器中的所有文件"。

它应显示为:

"在本练习中,您将枚举的特定文件夹中的所有文件"。

页面 83: 该术语"包含"使用在步骤 2 中的位置

在页 83,读取第 2 步:

"添加导入 (或一个包含在 C# 中) 为 System.IO 命名空间到新项目"。

它应显示为:

"添加一个导入 (或 aa 使用语句在 C# 中) 为 System.IO 命名空间到新项目"。

在第 6 步中的页面 84: 不正确方向

在页 84,第一句的第 6 步显示如下:

在 Main 方法中编写代码以创建新的 Windows 目录 DirectoryInfo 对象的实例并使用它来调用新 ShowDirectory 方法。

它应显示为:

在 Main 方法中编写代码以创建新的系统目录 DirectoryInfo 类的实例并使用它来调用新 ShowDirectory 方法。

页面 85: EnableRaisingEvents 属性称为 EnablingRaisingEvents

在页 85,读取第 7 步:

EnablingRaisingEvents 属性设如果该属性值为 true,则告诉开始引发的事件观察程序对象。

它应显示为:

EnableRaisingEvents 属性设如果该属性值为 true,则告诉开始引发的事件观察程序对象。

页面 89 流类型中使用的不正确命名空间。

在页 89 上, 阅读第三、 第四个和第五个项目符号点:

"* CryptoStream (System.Security)
* NetworkStream (System.Net)
* GZipStream (System.Compression)"

它们应显示为:

"* CryptoStream (System.Security.Cryptography)
* NetworkStream (System.Net.Sockets)
* GZipStream (System.IO.Compression)"

页面 91: 建议的文件可以在创建时读取

在页 91,第一个项目符号点显示如下:

"创建或打开文件进行读取操作"

它应显示为:

"打开文件进行读取操作"

目录类的功能的页 92: 错误描述

在页 92,目录类节的第二句读取:

目录类提供基本的功能,以打开用于读取和写入文件流。

它应显示为:

目录类提供基本的功能,以创建、 管理、 删除,和分析的目录。

页面 92: OpenWrite 方法的描述是不正确

在页 92,OpenWrite 方法的说明显示如下:

打开以进行写入的现有文件并返回一个 StreamWriter 对象。

它应显示为:

打开以进行写入的现有文件并返回一个对象,发现。

页面 97:"读取"来代替"写入"

在页 97,第一句中第一个段落的读取:

StreamReader 类提供基本功能将数据从流中派生的类。

它应显示为:

StreamReader 类提供基本功能从 Stream 派生类中读取数据。

页 100 StreamWriter 类的不正确的基本功能说明

在页 100,第一句中第一个段落的读取:

StreamWriter 类提供基本功能从 Stream 派生类中读取数据。

它应显示为:

StreamWriter 类提供基本功能将数据从流中派生的类。

页面 104: 的示例代码的行为的错误说明

在页 104,在最后一句,在页上的显示如下:

",例如下面的代码将读取只是显示在代码:"

它应显示为:

"下面的代码将例如,读取编写的代码只是显示数据:"

页面 111: 该术语"包含"使用在步骤 2 中的位置

在页 111,读取第 2 步:

"添加导入 (或一个包含在 C# 中) 为 System.IO 命名空间到新项目"。

它应显示为:

"添加一个导入 (或 aa 使用语句在 C# 中) 为 System.IO 命名空间到新项目"。

页面 111: 错误在步骤 3 中的指令 Excercise 1

在页 111,读取练习 1 中的第 3 步:

"Main 方法中创建新 StreamWriter 从文件类的创建方法"。

它应显示为:

"Main 方法中创建新 StreamWriter 通过调用 CreateText 文件类的方法"。

页面 112: 类引用对象的位置

在页 112,读取练习 2 的步骤 2:

"在 Main 方法中 StreamWriter 类被关闭之后,打开该文件以创建一个新的 StreamReader 对象使用的文件类 OpenText 方法"

它应显示为:

"在 Main 方法中 StreamWriter 对象关闭后,打开该文件以创建一个新的 StreamReader 对象使用的文件类 OpenText 方法"

页面 115: 不正确的 CanRead 属性的说明

在页 115,CanRead 属性表 2-30 中的说明将显示如下:

"确定该流是否支持在解压缩文件时的读取。(从继承 Stream 类)"。

它应显示为:

"确定该流是否支持读取。(从继承 Stream 类)"。

用来代替 CompressionMode.Decompress 页面 120: CompressionMode.Compress

在页 120,读取第一个完整的代码示例:

' VB 
Dim compStream As _ 
    New GZipStream(sourceFile, CompressionMode.Compress) 
 
// C# 
GZipStream compStream =  
    new GZipStream(sourceFile, CompressionMode.Compress);

它应显示为:

' VB 
Dim compStream As _
    New GZipStream(sourceFile, CompressionMode.Decompress)

 // C#
GZipStream compStream = 
    new GZipStream(sourceFile, CompressionMode.Decompress);


页面 121: 该术语"包含"使用在步骤 2 中的位置

在页 121,读取第 2 步:

"添加导入 (或一个包含在 C# 中) 为 System.IO 命名空间到新项目"。

它应显示为:

"添加一个导入 (或 aa 使用语句在 C# 中) 为 System.IO 命名空间到新项目"。

代码示例 122 121 页 (&): 不正确的第 7 步

121 和 122 练习 1 第 7 步的页面上 VB 和 C# 代码示例不正确。在练习中使用时, 它们不会创建一个较小的压缩的文件。

更改:
' VB
Dim theByte As Integer = sourceFile.ReadByte()
While theByte <> -1
    compStream.WriteByte(CType(theByte, Byte))
    theByte = sourceFile.ReadByte()
End While

// C#
int theByte = sourceFile.ReadByte();
while (theByte != -1)
{
    compStream.WriteByte((byte)theByte);
    theByte = sourceFile.ReadByte();
}

若要:
' VB
Dim buffer(sourceFile.Length) As Byte
        sourceFile.Read(buffer, 0, buffer.Length)
        compStream.Write(buffer, 0, buffer.Length)

// C#
const int buf_size = 4096;
byte[] buffer = new byte[buf_size];
int bytes_read = 0;
do
{
    bytes_read = sourceFile.Read(buffer,0,buf_size);
    compStream.Write(buffer,0,bytes_read);
} while (bytes_read != 0);

页面 122: 其他注意需要添加的第 9 步。

上页 122 第 9 步补充注意需要添加之前的代码示例的详细信息:

"注意: 使用一个小文件可能会导致由于的压缩的系统开销正在大于原始压缩文件。如果您使用一个较大的文件,系统开销的大小将不会导致此类的 pallor 生成的文件的大小"。

页面 127: 术语"目录"的位置所使用的文件

在页 127,GetDirectoryNames 表 2-36 中的说明将显示如下:

"获取存储区中的目录名称匹配文件掩码的列表"

它应显示为:

"获取与目录掩码匹配的目录名称存储区中的列表"

页面 129: IsolatedStorageFileStream 的定义不正确

在页 129,第一句中第一个段落的读取:

IsolatedStorageFileStream 类封装用于在独立存储中创建的文件的流。

它应显示为:

IsolatedStorageFileStream 类封装用于读取、 写入和在独立存储中创建的文件的流。

页面 133: 文件引用,而目录

在页 133 之前最终的代码, 段示例显示如下:

"目录视为得多的文件,若要测试其存在,您必须使用一个返回匹配文件掩码的字符串数组的方法。GetDirectoryNames IsolatedStorageFile 类的方法允许您尝试创建它之前查找现有的文件:"

它应显示为:

"目录视为得多的文件,若要测试其存在,您必须使用一个返回与掩码匹配的字符串数组的方法。GetDirectoryNames IsolatedStorageFile 类的方法允许您尝试创建它之前查找现有的目录:"

页面 135: 的术语"包含"来使用在步骤 2 中的位置

在页 135,读取第 2 步:

"添加导入 (或一个包含在 C# 中) 为 System.IO 命名空间到新项目"。

它应显示为:

"添加一个导入 (或 aa 使用语句在 C# 中) 为 System.IO 命名空间到新项目"。

页面 135: 对象引用,而类

在页 135,在练习 1 中的步骤 3 的第一句读取:

在新项目在 Main 方法中创建名为应用范围限定为当前用户和程序集的 userStore IsolatedStorageFile 对象的新实例。

它应显示为:

在新项目在 Main 方法中创建名为应用范围限定为当前用户和程序集的 userStore IsolatedStorageFile 类的新实例。

在第 3 步中的页面 135: 不正确的 Visual Basic 代码

在页 135,Visual Basic 代码在第 3 步中的显示如下:

' VB 
IsolatedStorageFile userStore = _ 
    IsolatedStorageFile.GetUserStoreForAssembly()

它应显示为:

' VB
Dim userStore as IsolatedStorageFile = _
    IsolatedStorageFile.GetUserStoreForAssembly()


在第 4 步和第 5 步中的页面 136: 不正确的 Visual Basic 代码

在页 136,Visual Basic 代码,在步骤 4 中的显示如下:

' VB 
IsolatedStorageFileStream userStream = new _  
    IsolatedStorageFileStream("UserSettings.set", _ 
                              FileMode.Create, _  
                              userStore) 


它应显示为:

' VB
Dim userStream as IsolatedStorageFileStream = new _ 
    IsolatedStorageFileStream("UserSettings.set", _
                              FileMode.Create, _ 
                              userStore)


将显示在第 5 步中的代码如下:

' VB 
StreamWriter userWriter = new StreamWriter(userStream) 
userWriter.WriteLine("User Prefs") 
userWriter.Close() 


它应显示为:

' VB
Dim userWriter as new StreamWriter(userStream)
userWriter.WriteLine("User Prefs")
userWriter.Close()


页面 137: 示例代码丢失

在页 137,第一节的代码示例的第五个行显示如下:

// ...

它应显示为:

Console.WriteLine("No data saved for this user.");


项目向下第总结下的第四个符号中的数据的页 139: 说明

在页 139,项目向下第总结下的第四个符号,它显示如下:

"StreamReader 和 StreamWriter 类具有有助于在将数据移动到和出的流,包括 FileStreams、 MemoryStreams 和 IsolatedStorageFileStreams 处理。

它应显示为:

"StreamReader 和 StreamWriter 类具有有助于在处理传入和传出数据流,包括 FileStreams、 MemoryStreams 和 IsolatedStorageFileStreams 移动 textoriented 数据。

页面 140: 的案例方案的错误说明

在页 140,案例方案部分的第一句读取:

"在以下的情况下您将在应用您获知有关如何使用应用程序域和服务。

它应显示为:

"在以下的情况下您将在应用您学习有关文件和目录。

页面 141: 计算机级别的数据作为引用程序集的数据

在页 141,创建一个简单的配置存储部分显示如下:

"为此任务,您应至少完成方法 1 和 2。了解用户和程序集的数据以及完成练习 3 的独立存储中的不同方式。

-练习 1 创建 Windows 窗体应用程序,使用户可以保存数据并将其存储在独立存储中。
-通过在不同的用户帐户下运行该练习 2 测试 Windows 窗体应用程序。
-练习 3 修改存储该数据是否是相同的所有用户的某些程序集级数据应用程序"

它应显示为:

"为此任务,您应至少完成方法 1 和 2。若要了解用户和计算机级别的数据在独立存储中的不同方式,以及完成练习 3。

-练习 1 创建 Windows 窗体应用程序,使用户可以保存数据并将其存储在独立存储中。
-通过在不同的用户帐户下运行该练习 2 测试 Windows 窗体应用程序。
-练习 3 修改存储该数据是否是相同的所有用户的某些计算机级数据应用程序"

参数的位置被相反的 146 页 145 (&):

在页 145,行 7 的 VB 代码示例和页 146 行上 11,C# 代码示例包含不正确的参数位置。

更改 (页 145 VB):
If Regex.IsMatch(args(1),args(0)) Then

若要:
If Regex.IsMatch(args(0),args(1)) Then

更改 (页 146 C#):
if (Regex.IsMatch(args[1], args[0]))

若要:
if (Regex.IsMatch(args[0], args[1]))

页面 146: TestRegExp 命令参数部分不正确

在页上 146,两个命令行和预期的输出示例在第一个段落下的不部分正确。

更改:
C:\>TestRegExp ^\d{5}$ 1234
输入不匹配正则表达式。
C:\>TestRegExp ^\d{5}$ 12345
输入与正则表达式匹配。

若要:
C:\TestRegExp 1234 ^^\d{5}$
输入不匹配正则表达式。
(注意: 您需要添加另一个 ^ 由于命令行解释 ^ 作为转义字符。第二个 ^ 添加直接通过 Visual Studio 命令行项目属性-调试-命令行参数的命令行参数时没有必要)
C:\TestRegExp 12345 ^^\d{5}$
输入与正则表达式匹配。

页面 165: IsZip 方法提到 ReformatPhone 方法的位置

在页 165,读取之前在练习 2 的第 3 步中的代码示例在最后一句:

"尽管很多不同的正则表达式将起作用,您编写的 IsZip 方法可能看起来是这样:"

它应显示为:

"尽管很多不同的正则表达式将起作用,您编写的 ReformatPhone 方法可能看起来是这样:"

页面 170: 应从答案 E 删除"e"。

在页 170,问题 4 应答 E 读取:

"东部 amomomottohez"

它应显示为:

""amomomottohez

页面 187:"或索引"应被删除

在页 187,所描述的哈希表和 StringDictionary 有错误。

更改:
"哈希表 A 收集的对象的名称/值对,允许按名称或索引检索"

若要:
"哈希表 A 收集的对象的名称/值对,通过 $ 名称来允许检索"

更改:
"StringDictionary A 集合的名称/值对的字符串,它允许按名称或索引检索"

若要:
"StringDictionary A 集合的名称/值对的字符串,它允许检索按名称"

页面 188: 类引用,而集合

在页 188,第二句的添加和移除项部分显示如下:

"要添加的项目和删除项目从类是非常简单。

它应显示为:

"要添加的项目和从集合中的移除项目是非常简单。

页面 192: 缺少代码示例中的新行

在页 192,第二个代码示例的第七个行显示如下:

// C# IEnumerator enumerator = coll.GetEnumerator();

它应显示为:

// C# 
IEnumerator enumerator = coll.GetEnumerator();


页面 192:"+ + x"的应该是"x + +"

在页 192,页上第一个代码示例的第二行不正确。

更改:
for (int x = 0; x < coll.Count; ++x)

若要:
for (int x = 0; x < coll.Count; x++)

microsoft 致力于提供信息性的和准确的书籍。所有的批注和更正上面列出可为包含在未来 printings 的此简介册。如果您的这本书的更高版本打印它可能已经包含大多数或所有上面的更正。

属性

文章编号: 923018 - 最后修改: 2007年11月7日 - 修订: 2.23
这篇文章中的信息适用于:
  • MCTS Self-Paced Training Kit (Exam 70-536): Microsoft .NET Framework 2.0 - Application Development Foundation, ISBN 0-7356-2277-9
关键字:?
kbmt KB923018 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 923018
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com