字符串由字符分隔,并插入到整型数组中
本文关键字:整型 数组 插入 字符 分隔 字符串 | 更新日期: 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();
}