public static string k;
private static List<int> G(List<int> a)
{
string sentence = "0 55 6";
string pattern = @"[0-9]+";
Regex rgx = new Regex(pattern);
List<int> not = new List<int>();
// foreach match i add it to my list
foreach (Match match in rgx.Matches(sentence))
{
k = match.Value;
int notman = Int32.Parse(k);
not.Add(notman);
}
// turn my list into array
int[] notarray = not.ToArray();
// trying to return int[] array;
return notarray;
}
所以我用这种方法输入了List<<int>int>
,但是我想将其作为int[]
数组返回。将int[]
array 返回主方法的任何方法
?我正在尝试将其转换,以便我可以添加array[0] + array[1]
并重复。
答案 0 :(得分:0)
据我所知,您想要从给定的int[]
(例如new int[] {0, 55, 6}
)中获得string
(整数数组,例如"0 55 6"
)。如果是您的情况,可以尝试 Linq
using System.Linq;
...
private static int[] G(string sentence) {
return Regex
.Matches(sentence, @"\-?[0-9]+") // \-? - if we accept negative numbers
.OfType<Match>() // Matches collection to IEnumerable<Match>
.Select(match => int.Parse(match.Value)) // each Match to int
.ToArray(); // Materialize to array
}
...
// result == {0, 55, 6}
int[] result = G("0 55 6");
最后,如果要对数组中的项目Sum
进行添加,请添加 Linq 的Sum()
int sum = G("0 55 6").Sum(); // 61 == 0 + 55 + 6