c# - 将字符串字节数组内容复制到另一个数组,并将前缀 0 复制到 C# 中的单个数字
问题描述
我有一个名为“string_array_packet”的字符串数组,其中包含
FA,11,1,4,90,6C,E7,72,0,0,0,8,80,0,8,80,7B,
现在我需要复制数组的第一个和最后一个索引之间的内容并将其存储在另一个数组中,然后需要在单个数字前加上 0
11,1,4,90,6C,E7,72,0,0,0,8,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];
推荐阅读
- python - 为什么我们将 Mnist 训练图像重塑为 (60000,28,28,1) 而不是像这样直接使用 (60,28,28)?
- javascript - 未捕获的 RangeError:jquery 超出了最大调用堆栈大小
- r - R从Zip文件中的文件模式创建DataFrame
- r - 如何以递归方式获取 data.tree 对象的后代提示名称列表?
- logstash - ELK - Logstash 排除主机
- swift - 使用 .tag 快速更改 @IBoutlet 集合图像而不是图像
- javascript - 调用函数 onkeyup innerHTML
- mysql - SQL 如何找出谁没有条目?
- bash - bash脚本如何将值传递给交互式提示
- blazor - Blazor 服务器应用程序在部署时不工作,在 Visual Studio 中工作正常