【问题标题】:Creating Dynamic String and Array references in for loop在 for 循环中创建动态字符串和数组引用
【发布时间】:2021-05-08 07:23:51
【问题描述】:

我需要在 for 循环中创建对字符串和字符串数组的动态引用。 以下是正确的吗?特别是在我尝试创建动态字符串引用字符串 sRef = "svert"+num; 和后来的动态数组引用 string arrayRef = "s_array"+num;

欢迎任何反馈。

Vector3[] meshVerts = foo;
for(int num=0; num < meshVerts.Length;num++){

            string sRef = "svert"+num;
            sRef =meshVerts[num].ToString( format: "F4");
             sRef= sRef.Substring(1, 3);

            string arrayRef = "s_array"+num;
            string[] arrayRef = sRef.Split(',');
        }
'''

【问题讨论】:

  • Is the following correct? 有用吗? s_array 是什么?
  • 简短回答(如果我理解您的意图) - 您可能无法按照您尝试的方式解决它。请分享minimal reproducible example,显示您期望的输入和输出(尽可能简单)。

标签: c# arrays string dynamic


【解决方案1】:

我为您的问题准备了示例和测试代码。我希望你觉得它很有趣。

//fill vector3 array
Vector3[] meshVerts = new Vector3[3];
for (int i = 0; i < meshVerts.Length; i++)
{
    meshVerts[i] = new Vector3(i, i + 1, i + 2);
}

//fill string array
string[] arrayRef = new string[meshVerts.Length];
for (int num = 0; num < meshVerts.Length; num++)
{
    arrayRef[num] = string.Format("s_array{0}: {1}", num, meshVerts[num]);
}



//show vector3 array and string array
for (int i = 0; i < meshVerts.Length; i++)
{
    Console.WriteLine(string.Format("Vector3 Array Row{0}:   X={1} ,Y={2} ,Z={3}", i, meshVerts[i].X, meshVerts[i].Y, meshVerts[i].Z));


    string[] newArray = arrayRef[i].Split(',');
    string firstCell = newArray[0].Split(':')[1].Replace("<", "");

    Console.WriteLine(string.Format("{0} Row{1}:   X={2} ,Y={3} ,Z={4}", newArray[0].Split(':')[0], i, firstCell, newArray[1], newArray[2].Replace(">", "")));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 2014-11-06
    • 1970-01-01
    相关资源
    最近更新 更多