EDIT: I did not notice the requirements of ".NET 2.0". If you are going to do a lot of this, you should probably use LINQBridge and see a later bit - especially if you can use C # 3.0 while it is still targeting 2.0. Otherwise:
List<int> integers = new List<int>(text.Length);
foreach (char c in text)
{
integers.Add(c - '0');
}
Not so neat, but it will work. As an alternative:
List<char> chars = new List<char>(text);
List<int> integers = chars.ConvertAll(delegate(char c) { return c - '0'; });
Or, if you are happy with the array:
char[] chars = text.ToCharArray();
int[] integers = Arrays.ConvertAll<char, int>(chars,
delegate(char c) { return c - '0'; });
Original answer
ToCharArray. - IEnumerable<char>, . ; - Unicode "0":
IEnumerable<int> digits = text.Select(x => x - '0');
List<int>, :
List<int> digits = text.Select(x => x - '0').ToList();