尝试用linq输出答案

本文关键字:输出 答案 linq | 更新日期: 2023-09-27 18:17:38

我一直在编写一个程序,该程序通过一个名为"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的打印出一个答案。

尝试用linq输出答案

In

foreach (var s in item.SeqID)

循环遍历SeqID中的每个char。我觉得这没什么用。只要移除循环,只做sw.WriteLine(item.Answer)