呼び出された識別子によって 2 つの配列を照合しseqNum
、数学から答えを得るコードをいくつか書きました。seqNum
とを印刷することはできAnswer
ますが、 に付随する他のすべての情報を取得するのに問題がありseqNum
ます。私はこのようなものを出力できるようにしたい:
Name Date `seqNum` Answer...
seqNum
私のコードは私に答えを与えていますが、ファイルの最初の名前を異なるs とsで何度も何度も吐き出しますAnswer
。
コードは次のとおりです。
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))
}))
{
int x = 0;
x.Equals(item.SeqID);
while (x != -1)
{
sw.WriteLine(leaseName[x] + "," + item.SeqID + "," + item.Answer);
x--;
}
したがって、基本的には、一致する名前を正しいseqNum
とで出力するだけですAnswer
。誰かが何かアイデアやコメントを持っていれば、それは大歓迎です. そして、誰かが見る必要がある場合、私の数学の方法は非常に簡単です:
public double GetTheAnswer(double first, double second)
{
double answer = (first - second) / second;
return answer;
}