C# 写入值数据拆分

C# 写入值数据拆分,c#,visual-studio,split,C#,Visual Studio,Split,我无法以我想要的方式写入值 基本上如果我写进去,就说“15A” 我认为会分裂的是角色之间的空间 但现在实际发生的是,它将每个字符/位置都视为一个数据。也就是说,它写的是“49 32 53 32 65”,而不是“49 53 65”。基于ASCII表。我错过了什么 byte[] writeValue = text.Split(' ').Where(token => !string.IsNullOrEmpty(token)).Select(token => Convert.To

我无法以我想要的方式写入值

基本上如果我写进去,就说“15A”

我认为会分裂的是角色之间的空间

但现在实际发生的是,它将每个字符/位置都视为一个数据。也就是说,它写的是“49 32 53 32 65”,而不是“49 53 65”。基于ASCII表。我错过了什么

 byte[] writeValue = text.Split(' ').Where(token =>     
!string.IsNullOrEmpty(token)).Select(token => Convert.ToByte(token,    16)).ToArray();
解决方案:

byte[] writeValue = text.Split(' ').Select(s => Convert.ToByte(s)).ToArray();

你这样试过吗

byte[] writeValue = text
  .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
  .Select(token => Convert.ToByte(token, 16))
  .ToArray();

请尝试使用IsNullOrWhiteSpace

byte[] writeValue = text.Split(' ').Where(token =>     
!string.IsNullOrWhiteSpace(token)).Select(token => Convert.ToByte(token,16)).ToArray();

我误解了,也许现在仍然如此!这就是你要找的吗

byte[] writeValue = text.ToCharArray().Where(token =>
char.IsLetterOrDigit(token)).Select(token => Convert.ToByte(token)).ToArray();
对于text=“1 5 A”,结果是0x31 0x35 0x41的字节[];
string text = "0 1 2 3";
        string[] textAfter = text.Split(' ');
        byte[] writeValue = new byte[textAfter.Length];
        for (int i = 0; i < textAfter.Length; i++)
        {
            writeValue[i] = (byte)Convert.ToChar(textAfter[i]);
        }
字符串[]textAfter=text.Split(“”); byte[]writeValue=新字节[textAfter.Length]; for(int i=0;i为什么有6个数字?当
48
->
0
结束时?@KevinWallis My bad,将输出更改为正确的输出。谢谢这是我尝试时的错误。参数2:无法从“System.StringSplitOptions”转换为“char”@Justin.T我修复了代码。您必须使用
char[]
而不是
char
来找到问题本身中的解决方案。仍然+1,因为我很漂亮,你的这个可以直接写为“字符串”,所以它无法转换。所以当我写15A的例子时。它存储为15A。找到解决方案,张贴在问题本身中。还是+1,因为我很漂亮,你的也行