using System.Collections.Generic;
public static void Main()
string uidText = "CHE-423.594.340";
int uidDigits = Int32.Parse(new String(uidText.Where(Char.IsDigit).ToArray()));
Console.WriteLine("UID convert to int: " + uidDigits);
Console.WriteLine("Digits of UID (my version): " + String.Join(",", GetDigits(uidDigits)));
Console.WriteLine("Digits of UID (w/ Stack): " + String.Join(",", GetDigits2(uidDigits).Reverse()));
Console.WriteLine("Digits of UID (w/ Linq Reverse): " + String.Join(",", GetDigits3(uidDigits)));
public static IEnumerable<int> GetDigits(int source)
int individualFactor = 0;
int tennerFactor = Convert.ToInt32(Math.Pow(10, source.ToString().Length));
source -= tennerFactor * individualFactor;
individualFactor = source / tennerFactor;
yield return individualFactor;
} while (tennerFactor > 1);
public static IEnumerable<int> GetDigits2(int source)
public static IEnumerable<int> GetDigits3(int source)
Stack<int> digits = new Stack<int>();