Methode gibt ein int Array zurück.
Übergabeparameter ist ein string.
In der Methode wird per Regex geprüft ob es sich um einen rein nummerischen "string" handelt.
/// <summary>
/// Methode nimmt einen string entgegen.
/// <para>Der string wird per <see cref="Regex.IsMatch(string)"/> auf nur nummerische elemente getestet.</para>
/// <para>Wenn <code>true</code> fülle das int Array, wenn <code>false</code> werfe eine <see cref="FormatException"/></para>
/// </summary>
/// <param name="input">string value </param>
/// <returns>int array</returns>
public static int[] StringToIntArray(string input)
{
if (string.IsNullOrEmpty(input)) // check input
throw new NullReferenceException("input can´t be null"); // throw nullpointer ex if input was null
var intArr = new int[input.Length]; // create int array with the length of input string
var pattern = "^[0-9]*$"; // only number allowed ( regex pattern string )
if (System.Text.RegularExpressions.Regex.IsMatch(input, pattern)) // check it with regex
{
for(int i = 0; i < input.Length;) // for loop to fill int[]
{
intArr[i] = Convert.ToInt16(input[i].ToString()); // fill it
i++;
}
}
else
{
throw new FormatException("only numbers allowed, please check your input string");
}
return intArr; // return
}
4 Kommentare zum Snippet