字符串由字符分隔,并插入到整型数组中

本文关键字:整型 数组 插入 字符 分隔 字符串 | 更新日期: 2023-09-27 17:49:24

我有以下String word = "12345";,我想分割每个字符并将其插入到int数组

这样的

-

int[] array = { 1, 2, 3, 4, 5};

最快最简单的方法是什么?

字符串由字符分隔,并插入到整型数组中

尝试使用Linq:

  String word = "12345";
  int[] array = word
    .Select(c => c - '0') // fastest conversion
    .ToArray();
String word = "12345";
int[] array = word.Select(x => int.Parse(x.ToString())).ToArray();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reactive.Disposables;
using System.Reactive.Linq;
public static class Extensions
{
    /// <summary>
    /// Creates a int array from a String.
    /// </summary>
    /// <param name="source">The source.</param>
    /// <returns>an Int Array</returns>
    public static IObservable<IEnumerable<int>> StringToIntArray(this string source)
    {
        return Observable.Create<IEnumerable<int>>(sub =>
        {
            var sourceAsStringArray = source.ToCharArray().Select(x => x.ToString());
            var l = new List<int>();
            foreach (var s in sourceAsStringArray)
            {
                int output = -1;
                if (int.TryParse(s, out output))
                {
                    l.Add(output);
                }
            }
            sub.OnNext(l);
            sub.OnCompleted();
            return Disposable.Empty;
        });
    }
}
private async void Test()
    {
       var a = await "12345".StringToIntArray();
       var b = await "1a234b5".StringToIntArray();
       var invalid = await "IAmNotANumber".StringToIntArray();
    }