如何从 C# 中的嵌套循环写入多维数组?

     2023-04-13     168

关键词:

【中文标题】如何从 C# 中的嵌套循环写入多维数组?【英文标题】:How to write to multidimensional array from nested loop in C#? 【发布时间】:2020-07-03 15:44:38 【问题描述】:

我是 C# 新手。我在 Unity 中编写了一个代码,它创建了多个 (9, 3x3) 多维数据集,并且我使用了 3 个嵌套的 fori 循环。 创建多维数据集时,我需要将它们的 ID、x、y、z、位置保存在数组中。我尝试和托盘但不能 了解如何将此值保存到数组。有人可以帮我弄这个吗? 谢谢,祝您有愉快的一天。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MakeCube01 : MonoBehaviour

    public GameObject cublet;

    public int cubeID = 0;
    int rowNum = 3; //x
    int columnNum = 3; //y
    int layerNum = 3; //z
    int numberOfCubes;
    //int structureDimension = 3;
    public int[,] cubeStartPositions; 

    // Start is called before the first frame update
    void Start()
    
        numberOfCubes = rowNum * columnNum * layerNum;
        cubeStartPositions = new int[numberOfCubes, 4];   //row cube, column ID,x,y,z
        for (int startX = 0; startX < rowNum; startX++)
        
            for (int startY = 0; startY < columnNum; startY++)
            
                for (int startZ = 0; startZ < layerNum; startZ++)
                
                    Instantiate(cublet, new Vector3(startX, startY, startZ), new Quaternion(0, 0, 0, 0));

                    //write in array cubeId, x, y, z.
                    cubeStartPositions =    //????

                    Debug.Log("number of cubes:" + numberOfCubes + " ID:" + cubeID + " x:" + startX + " y:" + startY + " z:" + startZ);
                    cubeID++;
                
            
               
    

【问题讨论】:

你的数组是二维的。 3 个索引你想要什么? 感谢它工作正常,与 Java 略有不同。谢谢你,祝你有美好的一天。 【参考方案1】:

您想要一个具有三个维度的数组,但您只定义了两个维度。 你需要像这样定义你的数组,用两个逗号(分隔 3 个索引):

public int[,,] cubeStartPositions;

然后像这样初始化它

cubeStartPositions = new int[x, y, z];   

【讨论】:

并像这样分配值:cubeStartPositions[x,y,z] = foobar;【参考方案2】:

您需要创建 3 维数组而不是 2 个新的 int[x,y,z]

【讨论】:

感谢它工作正常,与 Java 略有不同。谢谢你,祝你有美好的一天。

使用嵌套的每个循环构建多维数组?

】使用嵌套的每个循环构建多维数组?【英文标题】:Buildingamulti-dimensionalarrayusingnestedforeachloops?【发布时间】:2016-06-0104:33:20【问题描述】:我正在尝试从bigquery构建一个结果数组,但在创建关联数组时遇到了问题。所需的结果... 查看详情

C# 中的多维关联数组

...我已经习惯了对数据类型的严格使用,我正在努力弄清楚如何声明不同数据类型的多维关联数组。例如在PHP中可能会做这样的事情$roomDiscount["apartment"][0]["minDaysOfStay"]=10;$roomDisco 查看详情

c#多维数组与嵌套数组

usingSystem;namespaceabc.e.f//等价于下面分层嵌套的写法。且这种写法不管命名空间abc有没有定义过,也不管命名空间e有没有定义过{classMYTestX{staticvoidMain(string[]args){int[,]matrix=newint[2,5];//多维数组。只是从维度上增加,并不是数组嵌套... 查看详情

从C#中的另一个类访问多种类型的多维数组

】从C#中的另一个类访问多种类型的多维数组【英文标题】:Accessmulti-dimensionalarrayofmultipletypesfromanotherclassinC#【发布时间】:2020-08-1412:38:12【问题描述】:我是C#新手,调查过但没有成功。我来自PHP编程,我有以下JSON:"data":["iD":... 查看详情

C# 中的多维数组列表或列表?

】C#中的多维数组列表或列表?【英文标题】:Multi-dimensionalarraylistorlistinC#?【发布时间】:2010-12-0811:11:51【问题描述】:是否可以在C#中创建多维列表?我可以像这样创建一个多维数组:string[,]results=newstring[20,2];但我希望能够使... 查看详情

从共享 ArrayPool 中租用和返回 C# 中的多维数组的正确方法?

】从共享ArrayPool中租用和返回C#中的多维数组的正确方法?【英文标题】:CorrectwayofRentingandReturningamulti-dimensionalarrayinC#fromsharedArrayPool?【发布时间】:2021-07-1718:43:14【问题描述】:例如,这是正确的使用场景吗?//RentvarrentedArray=A... 查看详情

在 Swift 5.1 中循环遍历多维/嵌套 JSON 数据

...时间】:2019-11-1410:23:14【问题描述】:我正在尝试弄清楚如何快速处理复杂的多级JSON数据。我能够在第一级获取数据。但是我无法通过JSON中的嵌套数组检索/循环。到目前为止,我有这个。letrequestParams=["appVersion" 查看详情

如何将多维数组写入文本文件?

】如何将多维数组写入文本文件?【英文标题】:Howtowriteamultidimensionalarraytoatextfile?【发布时间】:2011-04-1018:14:19【问题描述】:在另一个问题中,如果我能提供遇到问题的阵列,其他用户会提供一些帮助。但是,我什至在基本... 查看详情

java示例代码_嵌套for循环以打印多维数组

java示例代码_嵌套for循环以打印多维数组 查看详情

C#如何写一个多维数组

】C#如何写一个多维数组【英文标题】:C#howtowriteamultidimensionalarray【发布时间】:2020-10-0717:16:52【问题描述】:我正在尝试按照本教程了解如何将数组绑定到网格视图:BindingArraystoGridViewinASP.Net这很容易理解,但我的数组结构看... 查看详情

如何理解js多维数组

聪明的同学很快就会意识到如果创建多维数组了也就是说数组的创建需要一层一层制定下去不可以越级越级就会报错如果需要创建数组可以通过嵌套的for循环来弄。参考技术A外层数组中的元素也是一个数组。 参考技术Bjson["n... 查看详情

C# 从数据库表中填充多维数组

...从数据库中检索值,然后将值分配到我的控制器到引导卡中的文本字段。所以card.1将有来自数据库中第1行的详细信息 查看详情

如何将大型多维数组部分写入 HDF5 文件?

】如何将大型多维数组部分写入HDF5文件?【英文标题】:HowcanIwritealargemultidimensionalarraytoanHDF5fileinparts?【发布时间】:2015-11-1407:44:37【问题描述】:我在C#中使用HDF5DotNet,并且我有一个非常大的数组(几GB),我想写入一个HDF5文... 查看详情

多维javascript数组中的for循环

】多维javascript数组中的for循环【英文标题】:Forloopinmultidimensionaljavascriptarray【发布时间】:2012-04-1819:03:48【问题描述】:从现在开始,我使用这个循环来迭代数组的元素,即使我在其中放入具有各种属性的对象,它也能正常工... 查看详情

数据库中数据写入多维数组,如何实现?

往数据库中写入多维数组?实际上还是字符串的操作,我的做法是:将多位数组格式化为json字符串,当字符串保存在某列的某字段。或者将多维数组放到一个表中的多条记录中。参考技术A不太明白. 查看详情

多维数组和 C# 中的数组数组有啥区别?

】多维数组和C#中的数组数组有啥区别?【英文标题】:WhatarethedifferencesbetweenamultidimensionalarrayandanarrayofarraysinC#?多维数组和C#中的数组数组有什么区别?【发布时间】:2010-10-1012:13:00【问题描述】:C#中多维数组double[,]和array-of-ar... 查看详情

如何从 PHP 中的多维数组中删除重复值

】如何从PHP中的多维数组中删除重复值【英文标题】:Howtoremoveduplicatevaluesfromamulti-dimensionalarrayinPHP【发布时间】:2010-09-2309:19:05【问题描述】:如何在PHP中删除多维数组中的重复值?示例数组:Array([0]=>Array([0]=>abc[1]=>def)[... 查看详情

如何从 PHP 中的多维关联数组中删除项目

】如何从PHP中的多维关联数组中删除项目【英文标题】:Howtoremoveitemfrommultidimensional,associativearrayinPHP【发布时间】:2021-04-2404:48:56【问题描述】:我有一个多维的关联数组。我正在尝试找到一种方法从数组中删除特定项,无论它... 查看详情