gpt4 book ai didi

c# - ToCharArray 生成两组数字而不是一组

转载 作者:行者123 更新时间:2023-11-30 15:36:57 25 4
gpt4 key购买 nike

您好,我正在尝试将一个字符串拆分为一个字符数组,但由于某种原因,结果不是我所期望的。我通过了调试器抛出的这段代码,并给了它字符串“34325”。当我出于某种原因,到达将字符串转换为字符数组的代码部分,我可以在调试器中看到两组字符。我得到如下信息:

字符[0] = 51 '3'字符 [1] = 52 '4'字符 [2] = 51 '3'字符 [3] = 50 '2'字符[4] = 53 '5'

然后当我将 char 数组的每个元素转换为 int 时,第一个数字总是采用:51、52、51、50、53。

我的问题是如何更正此问题以便得到 3 、 4 、 3 、 2 、 5?还有,当我使用 toCharArray() 方法时,这些数字是从哪里来的:51 ,52 ,51 ,50 53?

这是我的代码:

    value = TextBox1.Text;

char[] numberChars = value.ToCharArray();
int[] numbers = numberChars.Select(x => Convert.ToInt32(x)).ToArray();

for( int i = 0; i < numbers.Length; i++ ) {
TextBox2.Text += numbers[i] + " ";
}

最佳答案

如果我没有正确理解你的问题,你想将字符串拆分成代表数字的整数,如下所示:"34325" 变成 new int[] {3,4, 3,2,5}.

如下更改代码,将表示数字的每个字符解释为一位数:

 int[] numbers = numberChars.Select(x => ((int)x)-'0').ToArray();

这是一个link to a demo on ideone .

您看到数字 5152 等的原因是您看到了相应数字的 ASCII 代码。

关于c# - ToCharArray 生成两组数字而不是一组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13223109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com