0

重複の可能性:
文字列をint配列に解析します

私はこのような数値から来る文字列を持っていますtextbox2670053157List<int>文字列の各文字をどのように分割して要素に挿入する必要がありますか?

4

5 に答える 5

6
var list = numberString.Select(c => Int32.Parse(c.ToString())).ToList();

または、既存のリストに追加する場合:

list.AddRange(numberString.Select(c => Int32.Parse(c.ToString()));
于 2012-10-25T17:12:00.563 に答える
5
var list = new List<int>();

list.AddRange(
    from character in numericString
    select int.Parse(character));
于 2012-10-25T17:12:32.660 に答える
5
 List<int> numericlist = "2670053157".Select(c => c - '0').ToList();
于 2012-10-25T17:16:36.947 に答える
1

ヘルパー メソッドから始めます。

public static IEnumerable<short> getDigits(long input)
{
    while (input > 0)
    {
        yield return (short)(input % 10);
        input /= 10;
    }
}

次に、リスト内の値が必要な場合は、次のように呼び出しますToList

List<short> list = getDigits(2670053157).ToList();

最初に上位ビットが必要な場合はReverse、シーケンスが必要になります。

List<short> list = getDigits(2670053157).Reverse().ToList();
于 2012-10-25T18:03:50.877 に答える
1

不適切な入力が原因で例外がスローされることを恐れている場合は、いつでも安全なルートに進むことができます。

// string input = TextBox1.Text;
List<int> intList = new List<int>();

foreach (char c in input)
{
    int i;
    if (Int32.TryParse(c.ToString(), out i))
    {
        intList.Add(i);
    }
}
于 2012-10-25T17:36:23.967 に答える