将字符串字节数组内容复制到另一个数组,并在C#中将0前缀为个位数



我有一个名为"String_array_packet"的字符串数组,它包含

FA,11,1,4,90,6C,E7,72,0,0,8,80,0,80,7B,

现在我需要复制数组的第一个和最后一个索引之间的内容,并将其存储在另一个数组中,然后需要将0前缀为个位数

11,1,4,90,6C,E7,72,0,0,0,80,0,8,80,

到目前为止,我所做的是

var sourceStartIndex = 1;
var destinationLength = string_array_packet.Length - 2;
Console.WriteLine(string_array_packet.Length);
Console.WriteLine(destinationLength);
var destinationStartIndex = 0;
var destination = new string[destinationLength];
Array.Copy(string_array_packet, sourceStartIndex, 
destination, destinationStartIndex, destinationLength); 

不确定之后如何进行。

使用Linq(需要using System.Linq(:可以更容易地完成此操作

var sourceStartIndex = 1;
var destinationLength = string_array_packet.Length - 2;
var strings = string_array_packet.Skip(sourceStartIndex)
.Select(x => x.Length == 1 ? "0" + x :x)
.Take(destinationLength)
.ToArray();

或者,如果您不熟悉Enumerable方法,则添加以下命令式方法来完成代码:

for (int i = 0; i < destination.Length; i++)
if (destination[i].Length == 1)
destination[i] = "0" + destination[i];

最新更新