[英]How to convert the specific law of one-dimensional array into two-bit array?
像這樣
string[] strarry = [12, 34, A1, FE, 12, 34, EA, 0, FE]
12
是開始, FE
是結束,變成
string strarry = [[12,34,A1,FE], [12,34,EA,0,FE]];
12
到FE
的距離不一定是固定的( 4
)
我該怎么做? 謝謝
如果我理解正確(您想從序數一 - string[]
獲取鋸齒狀數組string[][]
string[]
),您可以嘗試Linq以便將GroupBy
項轉換為子數組:
using System.Linq;
...
string[] strarry = new string[]
{"12", "34", "A1", "FE", "12", "34", "EA", "0", "FE"};
// Here we exploit side effects, be careful with them
int groupIndex = 0;
string[][] result = strarry
.GroupBy(value => value == "FE" ? groupIndex++ : groupIndex)
.Select(group => group.ToArray())
.ToArray();
我們來看一下:
string report = string.Join(Environment.NewLine, result
.Select(line => "[" + string.Join(", ", line) + "]"));
Console.Write(report);
結果:
[12, 34, A1, FE]
[12, 34, EA, 0, FE]
我不確定此代碼對您的適用性如何,但也許它可以幫助您找到某個地方。 祝你好運!
var strarry = "12, 34, A1, FE, 12, 34, EA, 0, FE";
var splittedArrays = strarry.Split(", FE", StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < splittedArrays.Length; i++)
{
if (splittedArrays[i][0].Equals(','))
{
splittedArrays[i] = splittedArrays[i].Substring(2);
}
splittedArrays[i] += ", FE";
Console.WriteLine(splittedArrays[i]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.