1
返回最多重複的項目我的圖片如下:排序值,並在列表
我願做兩個工作波紋管:
第一種:將TOTAL列中的值從最小到最大排序
第二個:輸入需要選擇的記錄數(例如:4條記錄)並返回m它在列表中重複的斧頭項目
在這裏我的代碼,但它是行不通的。
private void Form1_Load(object sender, EventArgs e)
{
customersBindingSource.DataSource = new List<Customers>();
}
private void btnGet_Click(object sender, EventArgs e)
{
int k;
string temp;
//Step 1: Sort values smallest to largest on TOTAL column
DataTable dt = new DataTable();
DataView dv = new DataView();
dv = dt.DefaultView;
dv.Sort = dv.Table.Columns[3].ColumnName + "ASC";
dt = dv.Table;
//Step 2: Input k rows & return max repeated items in list of Column 1 (BOOK_NAME)
k = Convert.ToInt32(txtkvalue.Text);
for (int i = 0; i < k; i++)
{
temp = dataGridView.Rows[i].Cells[1].Value.ToString();
List<string> prod = new List<string>();
prod.Add(temp);
var grouped = prod.ToLookup(x => x);
var maxRepetitions = grouped.Max(x => x.Count());
var maxRepeatedItems = grouped.Where(x => x.Count() == maxRepetitions)
.Select(x => x.Key).ToList();
//MessageBox.Show(maxRepeatedItems.ToString());
}
}
預期的結果(K = 4):
- 排序(TOTAL列):150,200,200,250,300
- 返回圖書:書2(列表:書1,Book 2,Book 2,Book 3)
請幫我指教。 非常感謝。
@Isaac我編輯了我的答案一點點,所以你打開背後的東西。希望這是可以理解的 –
@PavelPájaHalbich:感謝您的建議,但它也無法運行並顯示消息:var ordered = baseList.OrderBy(e => e.Total); - > System.ArgumentNullException:'值不能爲空。' – Issac
如果你只是簡單地複製代碼並運行它,那麼是的,你會得到那個錯誤。你看到第一行是什麼嗎?雖然'baseList'被初始化,但有一條評論說你*需要實現從你的數據源收集數據。在目前的形式中,你可以編譯它,但它不會毫無例外地運行。在這裏,人們會引導你正確的方向,但沒有人會爲你做你的工作。 –