簡體   English   中英

嘗試使用linq輸出答案

[英]Trying to output an answer with linq

我一直在研究一個程序,該程序通過名為“ SeqID”的標識符將兩個數組連接在一起,並輸出CSV文件的答案。

每當我將這個答案輸出到文件中時,它都會打印出同一行的答案,然后輸出到下一行答案中,並打印出一串行,依此類推。 我認為循環中可能存在問題,但我看不到。 這是代碼...

    private void executeBtn_Click(object sender, EventArgs e)
    {
        //NET OIL VARIANCE MATHEMATICS
        if (netOilRadBtn.Checked)
        {
            using (var sw = new StreamWriter("testNetOil.csv"))
            {
                var items = netOil.Zip(seqNum, (oil, seq) => new { Oil = oil, Seq = seq });
                var items2 = netOil2.Zip(seqNum2, (oil, seq) => new { Oil = oil, Seq = seq });
                sw.WriteLine("Lease Name, Field Name, Reservoir, Operator, County, ST, Majo, Resv Cat, Discount Rate, Net Oil Interest, Net Gas Interest, Working Interest, Gross Wells, Ultimate Oil, Ultimate Gas, Gross Oil, Gross NGL, Gross Gas, Net Oil, Net Gas, Net NGL, Revenue To Int., Oper. Expense, Total Invest., Revenue Oil, Revenue Gas, Operating Profit, Revenue NGL, Disc Net Income, SEQ, Well ID, INC ASN, Life Years, Own Qual, Production Tax, NET OIL VARIANCE");

                foreach (var item in items.Join(items2, i => i.Seq, i => i.Seq, (a, b) => new
                {SeqID = a.Seq, Answer = this.GetTheAnswer(Convert.ToDouble(a.Oil), Convert.ToDouble(b.Oil)) 

                }))

                {
                    foreach (var s in item.SeqID)
                    {
                        sw.WriteLine(item.Answer);
                    }

基本上,我想要此代碼實現的只是在兩個不同的數組中為匹配的seqNum輸出一個答案

foreach (var s in item.SeqID)

您可以遍歷SeqID每個char 我無法想象這是有用的。 只需刪除循環並僅執行sw.WriteLine(item.Answer)

暫無
暫無

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

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