C# 字符数组返回的值不正确

C# 字符数组返回的值不正确,c#,arrays,C#,Arrays,我有一个char数组,chars[],其中包含值{'#','$',1'}。我想删除1并将其放入另一个变量val,但当我这样做时,它会给我一个49(idk why)。我试着调试它,信息显示chars的元素如下: char[0] = 35 '#' char[1] = 36 '$' char[2] = 49 '1' 这反过来又使 int val = char[2]; 变成 val = 49 我不知道为什么会这样,但这会使我的计划泡汤。有人知道问题是什么吗?我能做些什么来解决它?49是字符“1”的

我有一个char数组,
chars[]
,其中包含值
{'#','$',1'}
。我想删除
1
并将其放入另一个变量
val
,但当我这样做时,它会给我一个49(idk why)。我试着调试它,信息显示
chars
的元素如下:

char[0] = 35 '#'
char[1] = 36 '$'
char[2] = 49 '1'
这反过来又使

int val = char[2];
变成

val = 49

我不知道为什么会这样,但这会使我的计划泡汤。有人知道问题是什么吗?我能做些什么来解决它?

49是字符“1”的ASCII表示形式

要创建ASCII表格,应使用
char val=char[2]

使用int,您将得到字符的ASCII表示形式为整数。
另请参见:
charArray[x].ToString()


这将把ASCII表示转换为实际字符。

你知道吗?当我编辑我的问题时,我意识到我正试图将一个字符放入一个int变量中。我想这是我的问题。是的,地址1的字符字符
1
我遇到了这个问题。现在它的结果是
val=49'1'
。有没有办法只获取
1
?调试器可能会显示
val=49“1”
,但只要系统中的数据类型是
char
,就可以在需要时为您提供字符“1”。@markwdickson理解。因此,如果我在
val
上运行一个函数,将
1
转换为int,我还应该得到1吗?就这样做了
intval=(int)Char.GetNumericValue(Char[2])给了我想要的东西。供将来参考:超级晚,但嘿。