char数组到int数组并删除一个char c#

时间:2014-01-04 09:11:22

标签: c#

我试图用pi发出哔哔声,我需要删除点(pi1 [1])(),我需要将char数组pi1转换为int数组pi2( * )

double a = Math.PI;
string b=a.ToString();
char[] pi1 = b.ToCharArray();
* pi1[1] = '0';
int[] pi2;
for (int i = 0; i < pi1.Length; i++)
{
**    pi2[i] = int.Parse(pi1[i].ToString());
}
//for (int i = 0; i > 40; i++)
//{
//    Console.Beep(100*c, 100);
//}

2 个答案:

答案 0 :(得分:0)

假设pi1完全由字符0 - 9组成,您可以使用以下代码将其解析为int数组:

int[] pi2 = pi1.Select(c => c - '0').ToArray();

答案 1 :(得分:0)

似乎导致问题的部分是不需要尝试转换小数点。您可以使用string.Replace

执行此操作

以下是一个单行解决方案,将pi的前15位数作为整数数组:

int[] piDigits = Math.PI.ToString()
                 .Replace(".", "")
                 .Select(c => c - '0')
                 .ToArray();