c#将字符串作为十六进制代码进行操作?

c#将字符串作为十六进制代码进行操作?,c#,hex,C#,Hex,如果我想用字符串来表示十六进制值,有没有办法在它们之间进行位AND、位OR之类的转换 我知道有些类型可以处理这个问题,但我需要将它们作为字符串保存。我不知道这种类型 我通常使用以下方法: //check if string is in hex format. bool OnlyHexInString(string text) { for (var i = 0; i < text.Length; i++) {

如果我想用字符串来表示十六进制值,有没有办法在它们之间进行位AND、位OR之类的转换


我知道有些类型可以处理这个问题,但我需要将它们作为字符串保存。

我不知道这种类型

我通常使用以下方法:

     //check if string is in hex format.
    bool OnlyHexInString(string text)
    {
        for (var i = 0; i < text.Length; i++)
        {
            var current = text[i];
            if (!(Char.IsDigit(current) || (current >= 'a' && current <= 'f')))
            {
                return false;
            }
        }
        return true;
    }
编辑1 如果结果不是null或空的,我忘了在结果上添加Int64.Parse()。对不起

执行操作并将结果返回到十六进制字符串:

    public string IntToToHex(string integerAsAString)
    {
        if (!string.IsNullOrEmpty(integerAsAString))
        {
            Int64 integerValue = 0;

            bool parsed = Int64.TryParse(integerAsAString, out integerValue);

            if (parsed)
                return integerValue.ToString("X");

            else
                throw new Exception(string.Format("Couldn't parse {0} hex string!", integerAsAString));
        }
        else
            throw new Exception(string.Format("Couldn't parse {0} hex string!", integerAsAString));
    }

在阅读了评论和答案之后,我选择使用字节数组(多亏了Dusan)

我选择的解决方案:

我所要做的就是在需要使用位运算符时将字符串转换为字节,然后再转换回字符串


此链接显示字符串值之间的逻辑和/或??您可以在条件/
bool
操作数上使用逻辑运算符,是指按位和/或吗?但不能在字符串上使用它们。什么是十六进制代码?十六进制值?您可以对整数类型(例如,
UInt16
)执行逻辑运算,同时将其转换为
string
,以向用户显示十六进制值。因此,将
string
转换为整数、执行运算并将其转换回字符串应该可以做到这一点,但是将它们保持为整数是有意义的。我更正了我的问题,抱歉用词不当,可能还有另一种方法可以做你想做的事情。你为什么需要它?我为rom黑客制作了一个十六进制解释器,到目前为止,我存储了所有十六进制代码,并以字符串的形式执行所有操作,因此将它们保留为字符串会更简单,因为有很多代码。
    public string IntToToHex(string integerAsAString)
    {
        if (!string.IsNullOrEmpty(integerAsAString))
        {
            Int64 integerValue = 0;

            bool parsed = Int64.TryParse(integerAsAString, out integerValue);

            if (parsed)
                return integerValue.ToString("X");

            else
                throw new Exception(string.Format("Couldn't parse {0} hex string!", integerAsAString));
        }
        else
            throw new Exception(string.Format("Couldn't parse {0} hex string!", integerAsAString));
    }