C# 不需要使用c打印重复的值#

C# 不需要使用c打印重复的值#,c#,C#,这是我打印“m_USTByDoctor_OPDC.ml_trn_bill_item”的代码,该值来自数据库 for (int i = 0; i < m_USTByDoctor_OPDC.ml_trn_bill_item.Count;i++ ) { int count = 0; for (int j = 0; j m_USTByDoctor_OPDC.ml_trn_bill_item.Count; j++) { if(m_USTByDocto

这是我打印“m_USTByDoctor_OPDC.ml_trn_bill_item”的代码,该值来自数据库

for (int i = 0; i < m_USTByDoctor_OPDC.ml_trn_bill_item.Count;i++ )
   {

   int count = 0;
  for (int j = 0; j m_USTByDoctor_OPDC.ml_trn_bill_item.Count; j++)
                {
if(m_USTByDoctor_OPDC.ml_trn_bill_item[j].ItemName==m_USTByDoctor_OPDC.ml_trn_bill_item[i].ItemName)
                    {
                        count++;
                    }
                }

                Add_Cell(m_USTByDoctor_OPDC.ml_trn_bill_item[i].ItemName, ref tbl_summaryContent3, HELVETICA_BOLD_8_BLACK, false, Rectangle.ALIGN_LEFT, Rectangle.ALIGN_MIDDLE);
                Add_Cell(count.ToString(), ref tbl_summaryContent3, HELVETICA_NORMAL_8_BLACK, false, Rectangle.ALIGN_LEFT, Rectangle.ALIGN_MIDDLE);
            }

您可以使用
GroupBy
linq扩展方法:

foreach (var group in m_USTByDoctor_OPDC.ml_trn_bill_item.GroupBy(i => i.ItemName))
{
    Add_Cell(group.Key, ref tbl_summaryContent3, HELVETICA_BOLD_8_BLACK, false, Rectangle.ALIGN_LEFT, Rectangle.ALIGN_MIDDLE);
    Add_Cell(group.Count().ToString(), ref tbl_summaryContent3, HELVETICA_NORMAL_8_BLACK, false, Rectangle.ALIGN_LEFT, Rectangle.ALIGN_MIDDLE);
}

如果您使用C#?
.Distinct()
进行编码,为什么要使用Java和asp.net呢?可能会出现一个错误,即错误6无法在此范围内声明名为“I”的局部变量,因为它会赋予“I”不同的含义,而“I”已在“父或当前”范围内用于表示其他内容,因此此代码应替换您的两个循环,
i
应该是可用的,但是如果需要,您可以为lambda选择另一个标识符。。。问题解决
foreach (var group in m_USTByDoctor_OPDC.ml_trn_bill_item.GroupBy(i => i.ItemName))
{
    Add_Cell(group.Key, ref tbl_summaryContent3, HELVETICA_BOLD_8_BLACK, false, Rectangle.ALIGN_LEFT, Rectangle.ALIGN_MIDDLE);
    Add_Cell(group.Count().ToString(), ref tbl_summaryContent3, HELVETICA_NORMAL_8_BLACK, false, Rectangle.ALIGN_LEFT, Rectangle.ALIGN_MIDDLE);
}