簡體   English   中英

將字符串數組的數字索引轉換為雙數組

[英]convert number index of string array to double array

我正在從文本文件中讀取,拉出每一行,用 1| 查找第一行,然后將其轉換為數組。 為此,我只想要第 4 個索引,以便我可以對數組進行求和和計數。

這是從文本文件轉換為數組的內容 1|123456|01/06/2019|123456|100.00|USD|DUE UPON RECEIPT|TEST1||98790125|TEST2|TEST3|N

所以 [0] = 1, [2] = 123456 等等。我試圖從中提取 100.00 並將其放入它自己的數組中,以便我可以輕松地將總和加倍,並計算元素。 事實證明這對我來說很困難,因為原始數組是一個字符串。

我已經嘗試創建一個已經拆分的單獨字符串數組,然后拉動第 4 個索引並創建一個可以計數和求和的雙數組。 我還嘗試從它拉出的 str 中的一行拆分並創建一個 int 數組。

        string str;
        using (StreamReader file = new StreamReader("c:\\testdoc.txt"))
            while ((str = file.ReadLine()) != null)
            {
                string[] strArray = str.Split('|');
                if (strArray[0] == "1")
                {
                    double[] itotals = strArray.Select(i => Convert.ToDouble(i)).ToArray();
                    int count = itotals.Length;
                    double amt = itotals.Sum();
                    Console.WriteLine("Count: " + count + " Amt: " + amt);
                }
                else
                {
                }
            }

我希望它找到以 1| 開頭的行,然后告訴控制台寫入 count: 1 amt: 100.00,但實際上我只是收到輸入字符串格式不正確的錯誤。 我知道我需要在拆分后提取第 4 個索引,但我不確定在哪里做。

嘗試這個

string str;
        int count = 0;
        double amt = 0;
        using (StreamReader file = new StreamReader("c:\\testdoc.txt"))
            while ((str = file.ReadLine()) != null)
            {
                string[] strArray = str.Split('|');
                if (strArray[0] == "1")
                {
                    string itotals = strArray[4];
                    count = count+1;
                    amt = amt + Convert.ToDouble(strArray[4]);
                    Console.WriteLine("Count: " + count + " Amt: " + amt);
                }
                else
                {
                }
            }

暫無
暫無

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

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