簡體   English   中英

制作多重鋸齒狀陣列

[英]Making a mulitdimensional jagged array

我想制作一個動態數組的動態數組,我該怎么做? 我已經嘗試過使用AddRange()方法的列表列表。 我也嘗試遍歷數組。

也許更有意義地表明我正在做的事情。 我無法使其正常工作:

String[] lines = System.IO.File.ReadAllLines(fileName);
String[] linesArr;
String[][] MultiArr;
int i = 0;

foreach (string line in lines)
{
    if (line.Contains("EFIX"))
    {
        linesArr = line.Split(delimiterChars);
        for (int x = 0; x < linesArr.Length; x++)
        {
            MultiArr[i][x] = linesArr[x];
        }
    Console.WriteLine(fixationsData[i]);
    i++;
    }
}

使用字符串列表列表應該可以正常工作。 這就是我要寫的。

var lines = System.IO.File.ReadAllLines(fileName);
var multiArr = new List<List<string>>();
var i = 0;

foreach (var line in lines.Where(line => line.Contains("EFIX")))
{
    multiArr.Add(line.Split(delimiterChars).ToList());
    Console.WriteLine(fixationsData[i]);
    i++;
}

LINQ使這一點變得微不足道。

string[][] data = File.ReadLines(filename)
    .Where(line => line.Contains("EFIX"))
    .Select(line => line.Split(delimiterChars))
    .ToArray();//omit this last call to allow the data to be streamed, 
    //greatly removing the memory footprint of the application at no real 
    //additional cost, assuming you have no compelling reason to eagerly 
    //load the whole file into memory.

foreach(var line in data)
    Console.WriteLine(line);
String[] lines = System.IO.File.ReadAllLines(fileName);
String[] linesArr;
List<String[]> MultiArr = new List<String[]>();


foreach (string line in lines)
{
    if (line.Contains("EFIX"))
    {
    linesArr = line.Split(delimiterChars);
    MultiArr.Add(linesArr);
    Console.WriteLine(fixationsData[i]);
    }
 } 

這是字符串數組的列表。 這就是您要尋找的。

暫無
暫無

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

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