使用ToCharArray()时,C#中的值从0更改为48

使用ToCharArray()时,C#中的值从0更改为48,c#,C#,由于某种原因,值0从0更改为48。我得到一个字符串“100”,但它应该是“001”,因此我使用此代码更改顺序,并将其放入数组中,以便获得每个值: var inputArray = binarystring.ToCharArray().Reverse(); InputValues = inputArray as char[] ?? inputArray.ToArray(); 但当我检查一个值时,比如说InputValues,作为一个值,我得到48。我只需要“0”或“1”。多谢各位 利用这个建议,

由于某种原因,值0从0更改为48。我得到一个字符串“100”,但它应该是“001”,因此我使用此代码更改顺序,并将其放入数组中,以便获得每个值:

var inputArray = binarystring.ToCharArray().Reverse();
InputValues = inputArray as char[] ?? inputArray.ToArray();
但当我检查一个值时,比如说InputValues,作为一个值,我得到48。我只需要“0”或“1”。多谢各位

利用这个建议,我仍然明白这个问题

如@Akash KC所述,将其转换为字符数组,其中48是字符“0”,请使用以下函数:

public static string ReverseStringDirect(string s)
{
    char[] array = new char[s.Length];
    int forward = 0;
    for (int i = s.Length - 1; i >= 0; i--)
    {
        array[forward++] = s[i];
    }
    return new string(array);
}

值根本没有改变。48是屏幕截图上ASCIIRight中0字符的表示形式,您可以看到数组包含字符“1”、“0”、“0”。是。但是当我得到这个值时,它给我的是Ascii,而不是1或0。使用这个建议,我仍然得到问题什么问题?该方法是否正确反转字符串?如果希望看到二进制值0x01和0x00,则必须将字符解析为字节、整数或其他数字类型。它会反转消息。但这就是我的原始代码所做的。它反转了消息。问题是我无法获得1和0。我只是得到ascii值。如果OP只是通过调用
string reversedStr=string.join(“,InputValues”)来连接
InputValues
,OP将具有反向字符串。我喜欢你的方法,但同意你的观点,@AkashKCI需要将其转换为数组。我仍然是0分48秒,1分49秒。请查看更新的问题。感谢您抽出时间。