簡體   English   中英

將文本文件中的值添加到2D數組c#

[英]Adding values from text file to 2D Array c#

編輯---我在foreach循環中將值添加到2D數組時遇到麻煩。 Hari指出,我需要在循環之前聲明i = 0和數組,並且將值的分配向后分配。 (謝謝)。 但是,我試圖添加一個最終的強度數組並在Debug.Log中記錄i的值,並且控制台將讀取“ System.Single []”,而不是單個值。 知道為什么會這樣嗎? 謝謝!!

這是我的代碼:

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

//[Serializable]
public class MultiArrayList2 : MonoBehaviour {

public TextAsset datafile;
private int i;
private float[,] coordinates;
private float[] intensity;

// Use this for initialization
void Start() {

    string[] dataLines = datafile.text.Split ('\n');
    string[] lineValues;
    //print (dataLines.Length);
    i=0;

    float[,] coordinates = new float[6853, 3];  
    float[] intensity = new float[6853];
    foreach (string line in dataLines) {

        lineValues = line.Split (' ');
        float coordinateX = float.Parse (lineValues [0]);
        float coordinateY = float.Parse (lineValues [1]);
        float coordinateZ = float.Parse (lineValues [2]);
        float intens = float.Parse (lineValues [3]);

        coordinates [i, 0] = coordinateX;
        coordinates [i, 1] = coordinateY;
        coordinates [i, 2] = coordinateZ;

        intensity [i] = intens;

        Debug.Log (intensity);

        i++;        

    }

}

}

您沒有為數組元素分配任何內容,首先要使數組的元素不包含任何值,然后才將它們分配給coordinateX否則應該相反,

 coordinates [i, 0] = coordinateX;

幾點。

  1. 您尚未初始化i ,請在循環之前初始化此變量( foreach
  2. coordinates初始化移到下一行。
  3. 您必須取消注釋行(這是您的需要)。
  4. Debug.Log總是尋找第一個坐標,我相信您想為每個坐標將其更改為i

嘗試這個。

i=0;
int[,] coordinates = new int[6853, 3];  

foreach (string line in dataLines) {

    lineValues = line.Split (' ');
    int coordinateX = int.Parse (lineValues [0]);
    int coordinateY = int.Parse (lineValues [1]);
    int coordinateZ = int.Parse (lineValues [2]);
    float intensity = float.Parse (lineValues [3]);

    coordinates [i, 0] = coordinateX;
    coordinates [i, 1] = coordinateY;
    coordinates [i, 2] = coordinateZ;

    Debug.Log(coordinates [i, 0]);
    i++;        
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM