Chinese Simplified (简体中文)

借助集合进行处理

ABBYY FineReader Engine 中有三大集合类型:

  • 临时集合(现有对象调用集合),
  • 子对象集合,
  • 和只读子对象集合。

您可以在此页面了解关于如何使用各种类型集合的信息, 查看所有可用集合列表,并了解 .NET 中集合使用的细节。

临时集合

这种类型的集合表示对现有对象的引用的集合。这些是临时集合,通常用于不同参数集到对应方法的传递。创建此集合,向其中添加元素(元素作为对现有对象的引用添加),传递到所需方法,然后销毁该集合,而添加到其中的对象将会保留。此类集合的名称中有 Collection 后缀(例如 StringsCollectionIntsCollection)。

要使用此类类型的集合,请执行以下操作:

  1. 通过 Engine 对象的相应创建方法创建集合。例如,对 IntsCollection 对象来说它是 CreateIntsCollection 方法。这些集合也可以是一些方法的返回值。
  2. 通过 Add 方法添加现有对象到集合。您可以借助集合的只读 Count 属性、读写 Element 属性和 Item 方法循环访问集合。第一个方法可以获取集合中实际包含的元素数,第二和第三方法可提供对指定索引处元素的访问。Element 属性可让您使用 C# 中的 [] 运算符访问集合元素。
  3. 必要的话,可通过集合的其它方法修改集合:InsertAtDeleteAtDeleteAll 方法。
  4. 将集合传递给以其作为参数的方法。

在 C# 中使用 IntsCollection 对象的示例如下:

C# 代码

子对象集合

另一种类型代表一些父对象的子对象集合。这些对象在其父对象存在的时候存在。您可以通过此类集合添加或者移除父对象的子对象。当您将一个元素添加入集合时,内部将创建一个新对象,然后被添加到集合。此类集合的范例: DictionaryDescriptions——词典描述对象的集合,BaseLanguages ——基本语言的集合。

要使用此类集合:

  1. 通过其父对象的属性获取集合。例如,如果您想要访问某个识别语言的基本语言集合,则使用 BaseLanguage 对象的 DictionaryDescriptions 属性。
  2. 使用只读 CountElement 属性和 Item 方法循环访问集合。第一个方法可获得实际包含在集合中的元素数量,第二和第三方法可获得指定索引处的元素。Element 属性可让您使用 C# 中的 [] 运算符访问集合的元素。
  3. 必要的话,使用它的 AddNew 方法添加新元素到集合。不同集合的 AddNew 方法的语法可能略微不同,但其目的都是创建新集合,并将其添加到集合中。您可以通过 DeleteAtDeleteAll 方法删除元素。

在 C# 中处理 DictionaryDescriptions 对象的示例如下:

C# 代码

只读集合

有些子对象集合为只读属性。这意味着它们不可编辑,只能循环访问和查看元素。此类集合的范例包括PredefinedLanguages——预定义语言集合,Paragraphs ——文本段落集合。

查看此类集合的元素:

  1. 可以通过其父对象属性获取集合。例如,如要访问文本的段落集合,可通过Text 对象的 Paragraphs 属性实现。
  2. 通过只读 CountElement 属性和 Item 方法循环访问集合。第一个方法可获得实际包含在集合中的元素数量,第二和第三方法可获得指定索引处的元素。Element 属性可让您使用 C# 中的 [] 运算符访问集合的元素。

在 C# 中处理 Paragraphs 对象的示例如下:

C# 代码

所有可用集合

以下是 FineReader Engine 中可用的集合的完整列表。有些集合可提供处理元素的其它方法。详情请参见下表。

子对象集合 只读集合 临时集合

处理 .NET 中的集合

所有集合接口均派生自 IEnumerable 接口。这意味着您可以使用 C# 中的 foreach 语句(在 Visual Basic 是 for each)来操纵集合。注意,使用 foreach 处理集合有一些具体要求,例如,枚举器数不可用来修改集合,只能读取其中的数据。请参见 msdn.microsoft.com 上的注解。

在 C# 中用 foreach 处理 FRPages 集合的示例:

C# 代码

17.09.2024 15:14:41

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.