簡體   English   中英

添加列表元素C#

[英]Adding elements of a list c#

伙計們,我有一個查詢,該查詢返回3個值(-4.00,-7.53,-15.00。我將它們返回到名為ReaderResult的列表中,如代碼所示,但是,當將它們添加到列表中時,我也想保留元素的總數被添加到列表中

 DataReader = DoQuery(" select oa.[OtherAmount]  FROM [Biatss_PC_SRV].[Pax].[SalesDocumentOtherAmount] as oa "
            +"INNER JOIN [Biatss_PC_SRV].[Pax].[SalesRelatedDocumentInformation] as rd on oa.RelatedDocumentGuid = rd.RelatedDocumentGuid "
            +"INNER JOIN  [Biatss_PC_SRV].[Pax].[SalesDocumentHeader] as h on rd.HdrGuid = h.HdrGuid where h.DocumentNumber = '" + txtTicketNumber.Text.ToString() + "'");
                //check DataReader
                if (DataReader == null)
                {
                    DataReader.Close();
                    DataReader.Dispose();
                }
                else
                {
                    if (DataReader.HasRows)
                    {
                        //setting variables to be used to initial values
                        ii = 0;
                        double sumOfTaxes = 0;

                        ReaderResult.Clear();
                        while (DataReader.Read())
                        { 
                            //for ( ii = 0; ii < DataReader.FieldCount; ii++)
                            //{
                            if (DataReader.IsDBNull(0))
                                {
                                    string CaseNull = "";
                                    ReaderResult.Add(CaseNull);
                                }
                                else
                                {
                                    //put results in LIST<>
                                    ReaderResult.Add(Convert.ToString(DataReader.GetDecimal(0)));
                                    //double sumLaSa =+ Convert.ToDouble(ReaderResult.Last());       VALUE HERE IS ONLY THE LAST OF THE 3 NOT THE SUM
                                    //sumOfTaxes =+ Convert.ToDouble(DataReader.GetDecimal(0));
                                    //double sumLaSa =+ Convert.ToDouble(ReaderResult.Last().Last()); ERROR I GET HERE says cannont convert char to double
                                    myTextboxListForAmounts[ii].Text = Convert.ToString(DataReader.GetDecimal(0));

                           // }

                            if (ii > 6)
                            { 
                                //make txtXT visible and display summed up amount in it
                                lblXT.Visible = true;
                                txtXT.Visible = true;
                                txtXT.Text = Convert.ToString(sumOfTaxes);
                            }
                            ii++;

                                }  
                        } 
                    }
                    else
                    {
                        DataReader.Close();
                        DataReader.Dispose();
                    }
                    DataReader.Close();
                    DataReader.Dispose();
                }

請問如何獲取返回值的總和?

解決了問題。

使用Corak提出的解決方案可以達到目標。

 sumOfTaxes =+ Convert.ToDouble(DataReader.GetDecimal(0));

修改為

 sumOfTaxes += Convert.ToDouble(DataReader.GetDecimal(0));  (+= instead of =+)
enter code here

暫無
暫無

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

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