簡體   English   中英

如何在c#中使用一維字符串類型數組代替雙類型二維鋸齒數組?

[英]How to use 1D string type array in place of double type two dimensional jagged array in c#?

我有這種形式的數據:

double[][] rawData = new double[3][];
rawData[0] = new double[] { 65.0, 220.0 };
rawData[1] = new double[] { 73.0, 160.0 };
rawData[2] = new double[] { 59.0, 110.0 };

現在我想從文本文件導入數據並使用這個數組數據。 我也想要文本文件數據的雙類型鋸齒狀數組。

文件中每一行的數據格式為: 5.1,3.5,1.4,0.2

文本文件共有 150 行。 我想逐行讀取文件,用逗號分割,並將每一行保存在雙類型數組中,就像rawData[]][]

嘗試使用Linq ,你必須

  1. 逐行讀取文件
  2. 用逗號將每一行拆分為多個items
  3. 每個項目轉換Double
  4. 項目具體化為(內部)數組
  5. 線具體化到(外部)數組中

執行

  // let txt file being a CSV-like one
  Double[][] data = File
    .ReadLines(@"C:\MyFile.txt")
    .Where(line => !String.IsNullOrEmpty(line.Trim())) // to remove empty lines if any
    .Select(line => line.Split(','))
    .Select(items => items
      .Select(item => Double.Parse(item, CultureInfo.InvariantCulture))
      .ToArray()) // inner array
    .ToArray();   // outer array

暫無
暫無

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

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