Usar colecciones de objetos
Algunos objetos de contexto pueden ser colecciones de otros objetos, como objetos con interfaces IStringsCollection, IParagraphs, ITextBlocks, IAttributes, etc.
Todos los objetos que son colecciones de otros tienen las siguientes propiedades:
- Count: devuelve el número de elementos de una colección.
- Item(index): devuelve el elemento de la colección con el índice especificado.
Estas propiedades pueden utilizarse para acceder a elementos de la colección e iterar a través de elementos usando un bucle for. También es posible iterar elementos usando un bucle foreach en lenguajes de scripting que lo admitan.
Nota.
- Un índice siempre empieza por 0 en todos los scripts.
- En todos los lenguajes excepto C#, puede utilizar coll(index) en lugar de coll.Item(index), ya que Item es la propiedad predeterminada.
- En C#, no se puede acceder directamente a la propiedad coll.Item(index), por lo que debe utilizarse coll[index] en su lugar.
- En lenguajes .NET, las colecciones usan la interfaz IEnumerable en lugar de IEnumerable<T>, por lo que el tipo de variable debe especificarse explícitamente en los bucles foreach .
A continuación encontrará código de muestra para trabajar con la colección TextBlocks del objeto de contexto de un script de separación. Puede utilizarse un código similar para otras colecciones.
C#
for(int i = 0; i < page.TextBlocks.Count; i++){
var block = page.TextBlocks[i]
}
// o
foreach (ITextBlock block in page.TextBlocks){
// ...
}
Visual Basic .NET
For i As Integer = 0 To page.TextBlocks.Count-1
Dim block = page.TextBlocks(i)
' o
Dim block = page.TextBlocks.Item(i)
Next
' o
ForEach block As ITextBlock In page.TextBlocks
' ...
Next
JScript .NET
for(var i = 0; i < page.TextBlocks.Count; i++){
var block = page.TextBlocks(i);
// o
var block = page.TextBlocks.Item(i);
}
JScript
for(var i = 0; i < this.TextBlocks.Count; i++){
var block = this.TextBlocks(i);
// o
var block = this.TextBlocks.Item(i);
}
VBScript
Dim i, block
For i = 0 To Me.TextBlocks.Count-1
Set block = Me.TextBlocks(i)
' o
Set block = Me.TextBlocks.Item(i)
Next
' o
ForEach block In Me.TextBlocks
' ...
Next
26.03.2024 13:49:49