Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c#中将字符串转换为int[]数组?_C#_Arrays - Fatal编程技术网

如何在c#中将字符串转换为int[]数组?

如何在c#中将字符串转换为int[]数组?,c#,arrays,C#,Arrays,我正在寻找需要将字符串转换为int数组的代码。到目前为止,我所做的是: string text = "[1,2]"; int[] ia = text.Split(';').Select(n => Convert.ToInt32(n)).ToArray(); 但是我遇到了数字格式异常如何消除这个问题这里是字符串“[1,2]”需要转换为[1,2]如何实现这一点这可能是个愚蠢的问题,但需要解决这个问题。用空字符串替换大括号[],然后应用拆分函数 objModellead.ServiceCata

我正在寻找需要将字符串转换为int数组的代码。到目前为止,我所做的是:

string text = "[1,2]";
int[] ia = text.Split(';').Select(n => Convert.ToInt32(n)).ToArray();

但是我遇到了数字格式异常如何消除这个问题这里是字符串“[1,2]”需要转换为[1,2]如何实现这一点这可能是个愚蠢的问题,但需要解决这个问题。

用空字符串替换大括号
[]
,然后应用
拆分
函数

objModellead.ServiceCatalogID
     .Replace("[","")
     .Replace("]","")
     .Split(';')
     .Select(int.Parse)
     .ToArray()

使用JsonConvert只是小菜一碟

 int[] arr = JsonConvert.DeserializeObject<int[]>(text);
int[]arr=JsonConvert.DeserializeObject(文本);

只需修剪字符串的“[”和“]”并用“,”分割即可将其作为数组。 然后使用“array.ConvertAll”方法将其转换为int数组

string s = "[1,2]";
string[] s1 = s.Trim('[', ']').Split(',');
int[] myArr = Array.ConvertAll(s1, n => int.Parse(n));

为什么您希望Split(;)处理“[1,2]”?另外,你必须先去掉前导[和结尾]。作为c#的新手,我如何才能做到这一点是的。很明显,常识缺失了。最重要的是,这个示例并不符合站点规则,因为它包含大量不相关的代码,甚至不编译。文卡特,请把这些废话删掉,尽可能举个最小的例子。这意味着:用输入定义一个字符串,写转换逻辑,用int数组作为输出-其余的与问题无关。在把工作推给其他人之前,试着调试一下——特别是如果你读了Martheen的评论,我们真的觉得你从来没有学过编程,只是复制/粘贴而已。@TomTom-对他宽容点。他是新来的。我认为你的观点是正确的,但我要求人们发布更多代码的次数是因为他们认为他们已经发布了足够的代码,而我要求人们减少代码的次数是20:1。@venkatraman-关于这一点,我的目的是为整个社区创建一个高质量问题和答案的存储库。这并不是特别关于给出询问者和答案。因此,当你在评论中得到反馈时,就是关于提高问题(或答案)的质量。Tips,您可以用int.Parse替换lambda表达式,因为它是完全相同的东西。