借助集合进行处理
ABBYY FineReader Engine 中有三大集合类型:
- 临时集合(现有对象调用集合),
- 子对象集合,
- 和只读子对象集合。
您可以在此页面了解关于如何使用各种类型集合的信息, 查看所有可用集合列表,并了解 .NET 中集合使用的细节。
临时集合
这种类型的集合表示对现有对象的引用的集合。这些是临时集合,通常用于不同参数集到对应方法的传递。创建此集合,向其中添加元素(元素作为对现有对象的引用添加),传递到所需方法,然后销毁该集合,而添加到其中的对象将会保留。此类集合的名称中有 Collection 后缀(例如 StringsCollection,IntsCollection)。
要使用此类类型的集合,请执行以下操作:
- 通过 Engine 对象的相应创建方法创建集合。例如,对 IntsCollection 对象来说它是 CreateIntsCollection 方法。这些集合也可以是一些方法的返回值。
- 通过 Add 方法添加现有对象到集合。您可以借助集合的只读 Count 属性、读写 Element 属性和 Item 方法循环访问集合。第一个方法可以获取集合中实际包含的元素数,第二和第三方法可提供对指定索引处元素的访问。Element 属性可让您使用 C# 中的 [] 运算符访问集合元素。
- 必要的话,可通过集合的其它方法修改集合:InsertAt、DeleteAt、DeleteAll 方法。
- 将集合传递给以其作为参数的方法。
在 C# 中使用 IntsCollection 对象的示例如下:
C# 代码
子对象集合
另一种类型代表一些父对象的子对象集合。这些对象在其父对象存在的时候存在。您可以通过此类集合添加或者移除父对象的子对象。当您将一个元素添加入集合时,内部将创建一个新对象,然后被添加到集合。此类集合的范例: DictionaryDescriptions——词典描述对象的集合,BaseLanguages ——基本语言的集合。
要使用此类集合:
- 通过其父对象的属性获取集合。例如,如果您想要访问某个识别语言的基本语言集合,则使用 BaseLanguage 对象的 DictionaryDescriptions 属性。
- 使用只读 Count、Element 属性和 Item 方法循环访问集合。第一个方法可获得实际包含在集合中的元素数量,第二和第三方法可获得指定索引处的元素。Element 属性可让您使用 C# 中的 [] 运算符访问集合的元素。
- 必要的话,使用它的 AddNew 方法添加新元素到集合。不同集合的 AddNew 方法的语法可能略微不同,但其目的都是创建新集合,并将其添加到集合中。您可以通过 DeleteAt、DeleteAll 方法删除元素。
在 C# 中处理 DictionaryDescriptions 对象的示例如下:
C# 代码
只读集合
有些子对象集合为只读属性。这意味着它们不可编辑,只能循环访问和查看元素。此类集合的范例包括PredefinedLanguages——预定义语言集合,Paragraphs ——文本段落集合。
查看此类集合的元素:
- 可以通过其父对象属性获取集合。例如,如要访问文本的段落集合,可通过Text 对象的 Paragraphs 属性实现。
- 通过只读 Count、Element 属性和 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