2017-05-17 57 views
-7

這是我打印「m_USTByDoctor_OPDC.ml_trn_bill_item」的值來自數據庫的代碼。無需打印使用C#打印重複值

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); 
      } 

這是外出放我正在歌廳,你有Repated值還我需要消除它,我怎麼能做到這一點

Abdomen & Pelvic Scan IP 3 
    Abdomen & Pelvic Scan IP 3 
    Abdomine Pelvic Scan - OP 5 
    Abdomine Pelvic Scan - OP 5 
    Anamoly Scan (Single) - OP 1 
    Abdomine Pelvic Scan - OP 5 
    Abdomine Pelvic Scan - OP 5 
    Abdomine Pelvic Scan - OP 5 
    ANC/Obstetrics Scan(OP) 1 
    Abdomen & Pelvic Scan IP 3 
+3

爲什麼Java和asp.net如果你使用C#編碼? – BackSlash

+0

'.Distinct()'也許? – EpicKip

回答

0

可以使用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); 
} 
+0

我得到一個錯誤,因爲錯誤一個名爲'i'的局部變量不能在這個範圍內聲明,因爲它會給'i'賦予不同的含義,'i'已經在'parent或current'範圍內用來表示別的東西 –

+0

由於這段代碼應該替換你的循環,'i'應該可用 - 但是如果你願意的話,你可以爲lambda選擇另一個標識符。 –

+0

謝謝C Evenhuis ......問題解決了 –