C#
Iteration
Templates in this group are used for iterating over various containers. Since these templates are parameterized, you will need to fill in some parameters (variables) after the template is expanded. These input fields normally include:
- Loop index variable
- Number of iterations
- Container instance
To help you complete the necessary input fields, ReSharper suggests a list of choices. They include names of variables, instances
of arrays, lists available in scope etc.
| Template name |
Description |
for
Go to top
|
Purpose Creates a general-purpose for loop.
for (int $INDEX$ = 0; $INDEX$ < $UPPER$; $INDEX$++)
{
$END$
}
Before expansion After expansion
Parameters
-
i - loop index variable.
-
UPPER - number of iterations.
After you specify the parameters, the caret is positioned so that you can continue coding the loop body.
|
foreach
Go to top
|
Purpose Generates a foreach block which iterates over an instance of System.Collections.IEnumerable.
foreach ($TYPE$ $VARIABLE$ in $COLLECTION$)
{
$END$
}
Before expansion After expansion
Parameters
-
COLLECTION - instance of IEnumerable to iterate over (in the example above, ReSharper suggests the list of collections available in the current scope).
-
TYPE - type to cast the array elements to.
-
VARIABLE - iterator variable (in the example above, ReSharper suggests array based on the type name).
After parameters are specified, the caret is positioned so that you can continue writing the loop body.
|
ital
Go to top
|
Purpose Generates a forloop which iterates over an instance ofSystem.Collections.ArrayList. Includes a customizable statement in the loop body with a variable to hold a current array element.
for (int $INDEX$ = 0; $INDEX$ < $ARRAY$.Count; $INDEX$++)
{
$TYPE$ $VAR$ = ($TYPE$)$ARRAY$[$INDEX$];
$END$
}
Before expansion After expansion
Parameters
-
INDEX - name of index variable.
-
ARRAY - an ArrayList to iterate over (in the example above, myList is automatically suggested by ReSharper).
-
TYPE - type of variable in the loop body which is used to hold the current ArrayList element.
-
VAR - name of variable in the loop body which is used to hold the current ArrayList element (ReSharper makes its suggestions based on the name of the array).
After you specify the parameters, the caret is positioned so that you can continue coding the loop body.
|
itar
Go to top
|
Purpose Generates a for loop for iterating over an array. Includes a customizable statement in the loop body with a variable to hold a current array
element.
for (int $INDEX$ = 0; $INDEX$ < $ARRAY$.Length; $INDEX$++)
{
$TYPE$ $VAR$ = $ARRAY$[$INDEX$];
$END$
}
Before expansion After expansion
Parameters
-
INDEX - name of index variable.
-
ARRAY - array to iterate over (in the example above, ReSharper suggests arrayOfStrings, an array available in the current scope).
-
TYPE - type of variable in the loop body that the current array element is assigned to (ReSharper usually suggests a value for
this parameter based on the array type).
-
VAR - name of variable to hold the current array element (ReSharper suggests a value for this parameter based on the type name,
for example, s for string).
After you specify the parameters, the caret is positioned so that you can continue coding the loop body.
|
itdg
Go to top
|
Purpose Generates a foreach block which iterates over a System.Collections.Generic.IDictionary collection. Includes two customizable statements in the loop body with two variables holding the key and the value of a dictionary
element.
foreach ($DETYPE$ $ENTRY$ in $DICT$)
{
$KEYTYPE$ $KEY$ = $ENTRY$.Key;
$VALTYPE$ $VAL$ = $ENTRY$.Value;
$END$
}
Before expansion After expansion
Parameters
-
DETYPE - type of IDictionary entries to iterate over.
-
ENTRY - iterator variable.
-
DICT - name of dictionary instance to iterate over (in the example above, ReSharper suggests myDict because it is available in the current scope).
-
KEYTYPE - type of variable used to store the key of a dictionary element.
-
KEY - name of variable used to store the key of a dictionary element.
-
VALTYPE - type of variable used to store the value of a dictionary element.
-
VAL - name of variable used to store the value of a dictionary element.
After you specify the parameters, the caret is positioned so that you can continue coding the loop body.
|
itdic
Go to top
|
Purpose Generates a foreach block which iterates over a System.Collections.IDictionary collection. Unlike itdg, it provides fully-qualified type name for iterator variable in the loop condition and performs type casts over the key and
the value of a dictionary element in the loop body. Includes two customizable statements in the loop body with two variables
holding the key and the value of a dictionary element.
foreach (System.Collections.DictionaryEntry $ENTRY$ in $DICT$)
{
$KEYTYPE$ $KEY$ = $CASTKEY$$ENTRY$.Key;
$VALTYPE$ $VAL$ = $CASTVALUE$$ENTRY$.Value;
$END$
}
Before expansion After expansion
Parameters
-
DIC - name of dictionary instance to iterate over.
-
ENTRY - iterator variable.
-
KEYTYPE - type of variable used to store the key of a dictionary element.
-
KEY - name of variable used to store the key of a dictionary element.
-
CASTKEY - type to which the dictionary element key should be cast.
-
VALTYPE - type of variable used to store the value of a dictionary element.
-
VAL - name of variable used to store the value of a dictionary element.
-
CASTVALUE - type to which the dictionary element value should be cast.
After you specify the parameters, the caret is positioned so that you can continue coding the loop body.
|
itli
Go to top
|
Purpose Generates a for loop which iterates over an instance of System.Collections.IList. Includes a customizable statement in the loop body with a variable holding container elements.
for (int i = 0; i < $LIST$.Count; i++)
{
$TYPE$ $ITEM$ = $LIST$[i];
$END$
}
Before expansion After expansion
Parameters
-
LIST - instance of a IList-implementing collection to iterate over.
-
TYPE - type of variable used to store the value of a IList element.
-
ITEM - name of variable used to store the value of a IList element.
After you specify the parameters, the caret is positioned so that you can continue coding the loop body.
|
ritar
Go to top
|
Purpose Generates a for loop for iterating over an array in reverse order. Includes a customizable statement in the loop body with a variable holding container elements.
for (int $INDEX$ = $ARRAY$.Length - 1; $INDEX$ >= 0; $INDEX$--)
{
$TYPE$ $VAR$ = $ARRAY$[$INDEX$];
$END$
}
Before expansion After expansion
Parameters
-
INDEX - iterator variable.
-
ARRAY - array instance to iterate over (in the example above, arrayOfStrings has been automatically suggested by ReSharper because it's available in the scope).
-
TYPE - type to cast the array elements (in the example above, string type is usually suggested by ReSharper based on the type of the array).
-
VAR - variable to hold the current array element (ReSharper makes some suggestions based on the type name, for example, s for string).
After you specify the parameters, the caret is positioned so that you can continue coding the loop body.
|