我有一个用9个数字填充的字符串。我想用数字填充3x3数组。我已经设法使用foreach和2 for循环来做到这一点,但是我觉得这很混乱。如何修改代码以将值递归地输入到数组中?这是我目前的代码:
int[,] matrix = new int[3, 3];
if(key.Length < 9 || key.Length > 9)
{
keyfield.GetComponent<InputField>().text = " Key Not Valid";
}
else
{
foreach(char c in key)
{
for (int k = 0; k < 3; k++)
{
for (int j = 0; j < 3; j++)
{
matrix[j, k] = c - 0;
}
}
}
}
注意,我正在使用Unity。
好吧,只需遍历char
您的skey
并将它们分配给数组,一次分配一个字段。只需计算正确的列和行即可:
for (int i = 0; i < 9; ++i)
{
int row = i / 3;
int col = i % 3;
matrix[row, col] = (int)key[i];
}
还要注意,您问题中的代码或我答案中的代码都无法以递归的方式解决问题。当方法直接或间接调用自身时,将给出递归,这对于解决此特定问题不是必需的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句