To append text to strings, use the plus operator, + . The plus operator appends text to strings but does not change the size of a string array. Append a last name to an array of names. If you append a character vector to strings, then the character vector is automatically converted to a string.
Adding elements to an Array using array moduleUsing + operator: a new array is returned with the elements from both the arrays. append(): adds the element to the end of the array. insert(): inserts the element before the given index of the array. extend(): used to append the given array elements to this array.
You can't add items to an array, since it has fixed length. What you're looking for is a List<string>
, which can later be turned to an array using list.ToArray()
, e.g.
List<string> list = new List<string>();
list.Add("Hi");
String[] str = list.ToArray();
Alternatively, you can resize the array.
Array.Resize(ref array, array.Length + 1);
array[array.Length - 1] = "new string";
Use List<T> from System.Collections.Generic
List<string> myCollection = new List<string>();
…
myCollection.Add(aString);
Or, shorthand (using collection initialiser):
List<string> myCollection = new List<string> {aString, bString}
If you really want an array at the end, use
myCollection.ToArray();
You might be better off abstracting to an interface, such as IEnumerable, then just returning the collection.
Edit: If you must use an array, you can preallocate it to the right size (i.e. the number of FileInfo you have). Then, in the foreach loop, maintain a counter for the array index you need to update next.
private string[] ColeccionDeCortes(string Path)
{
DirectoryInfo X = new DirectoryInfo(Path);
FileInfo[] listaDeArchivos = X.GetFiles();
string[] Coleccion = new string[listaDeArchivos.Length];
int i = 0;
foreach (FileInfo FI in listaDeArchivos)
{
Coleccion[i++] = FI.Name;
//Add the FI.Name to the Coleccion[] array,
}
return Coleccion;
}
Eazy
// Create list
var myList = new List<string>();
// Add items to the list
myList.Add("item1");
myList.Add("item2");
// Convert to array
var myArray = myList.ToArray();
If I'm not mistaken it is:
MyArray.SetValue(ArrayElement, PositionInArray)
This is how I add to a string when needed:
string[] myList;
myList = new string[100];
for (int i = 0; i < 100; i++)
{
myList[i] = string.Format("List string : {0}", i);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With