将字符串一分为二并追加到列表中

时间:2019-06-08 23:41:55

标签: c#

我有这样的字符串:

string mystring = "123456"

我想将两分之二为12 34 56。

伪代码:

var list = new List<int>();
foreach(var e in something){
    string mystring ="123456";
    var split = ...
    // convert the splitted string
    list.Add(convertedString);
}

我该怎么做?

2 个答案:

答案 0 :(得分:1)

另一种可能会更容易理解的方式

public static IEnumerable<int> SplitInts(this string source)
{
    for (var i = 0; i < source.Length; i += 2)
        yield return int.Parse(source.Substring(i, Math.Min(2, source.Length - i)));
}

用法

var test = "23456";
foreach (var item in test.SplitInts())
    Console.WriteLine(item);

输出

23
45
6

Full Demo here

答案 1 :(得分:0)

您可以尝试一下,

var str = "123456";
var intList = Enumerable.Range(0, str.Length / 2)
            .Select(i => Convert.ToInt32( string.Concat(str.Skip(i * 2).Take(2)))).ToList();

如果您在控制台上记录结果:

foreach(var e in intList)
{
   Console.WriteLine(e);
}

Output list will contain elements like `12, 34, 56 respectively.`