【发布时间】:2023-04-10 18:03:03
【问题描述】:
我有长度为 2418060 个字符的字符串。 该字符串包含数字、大括号和一些特殊符号。这是一个样本
!(242.9288)F(562.7884)/(45)!(242.9288)F(126.8685)&(18.95)F(126.8685)!(140.2591)F(114.399)&
它是 LindermayerSystem,所以每个字符都有空间动作,括号中的数字是变量。
我怎样才能快速迭代这个?当我通过简单的 for 循环逐个字符迭代时,它持续了 10 分钟,而 Unity 在此之后没有响应.. 当然里面我有开关:
switch (array[i])
{
//TurnLeft
case '+':
i+=2;
do
{
checkingString.Append(array[i]);
i++;
} while (array[i] != ')');
value=float.Parse(checkingString.ToString());
currentPosRot.rotation = Quaternion.AngleAxis(value, Vector3.left) * currentPosRot.rotation;
//position = position + (rotation * new Vector3(0, 2, 0));
//curve.AddPointAt(position);
checkingString = new StringBuilder();
value = 0.0f;
break;
//Turn right
case '-': ...
【问题讨论】:
-
为什么投反对票?