C# 是否从字节数组中删除第一个和最后一个字节?
我正在读取字节到字节数组。数字以C# 是否从字节数组中删除第一个和最后一个字节?,c#,binary,byte,bytearray,C#,Binary,Byte,Bytearray,我正在读取字节到字节数组。数字以格式发送,包括“”符号,以二进制格式传输00111100 xxxxxxxxxxxxxxxx 00111110,其中“X”构成16位无符号整数 我想删除“”字符,它们始终是第一个字节和最后一个字节。这将允许我将16位无符号整数从二进制转换为整数 最干净的方法是什么?您可以使用Array.Copy将一个数组的一部分复制到另一个数组中: var source = new int[] { 0, 1, 2, 3, 4 }; var sourceStartI
格式发送,包括“”符号,以二进制格式传输00111100 xxxxxxxxxxxxxxxx 00111110
,其中“X”构成16位无符号整数
我想删除“”字符,它们始终是第一个字节和最后一个字节。这将允许我将16位无符号整数从二进制转换为整数
最干净的方法是什么?您可以使用Array.Copy将一个数组的一部分复制到另一个数组中:
var source = new int[] { 0, 1, 2, 3, 4 };
var sourceStartIndex = 1;
var destinationLength = source.Length - 2;
var destinationStartIndex = 0;
var destination = new int[destinationLength];
Array.Copy(source, sourceStartIndex, destination, destinationStartIndex, destinationLength);
您可以使用数组。复制将一个数组的一部分复制到另一个:
var source = new int[] { 0, 1, 2, 3, 4 };
var sourceStartIndex = 1;
var destinationLength = source.Length - 2;
var destinationStartIndex = 0;
var destination = new int[destinationLength];
Array.Copy(source, sourceStartIndex, destination, destinationStartIndex, destinationLength);
使用Linq,您可以很简单地做到这一点:
var array = new char[] { '<', '0', '1', '1', '>' };
var trimmedArray = array.Skip( 1 ).Take( array.Count() - 2 ).ToArray();
var数组=新字符[]{''};
var trimmedArray=array.Skip(1).Take(array.Count()-2).ToArray();
使用Linq,您可以很简单地做到这一点:
var array = new char[] { '<', '0', '1', '1', '>' };
var trimmedArray = array.Skip( 1 ).Take( array.Count() - 2 ).ToArray();
var数组=新字符[]{''};
var trimmedArray=array.Skip(1).Take(array.Count()-2).ToArray();
您可以使用数组。复制。可以指定要从源复制的数组的起始和结束。在那里你可以消除<和>。请参阅,您可以使用数组。复制。可以指定要从源复制的数组的起始和结束。在那里你可以消除<和>。请注意,它是“Array.Copy”而不是“Array.Clone”Erk,是的,我会解决这个问题!这是有效的-一个注意事项是它是“数组。复制”而不是“数组。克隆”Erk,是的,我会解决它的!永远不知道这一点也是可以实现的。因为我目前使用的是十六进制字符串,就像使用string HexTLV=string.Concat(HexResponse.Skip(2.Take)(HexResponse.Length-4))代码>永远不知道这也是可以实现的。因为我目前使用的是十六进制字符串,就像使用string HexTLV=string.Concat(HexResponse.Skip(2.Take)(HexResponse.Length-4))代码>