我必須確保只有特定的單元格存在於excel中,不會多於或少於此單元格。即使這些標題單元文本是預先指定的。即使不同的單元格文本也不能在應用程序中被允許。包含在C#中的字典中#
然後基於標題,我必須將數據放入列表中。
我在做我的Excel轉換成字典是這樣的:
var ws = excel.Workbook.Worksheets["Sheet1"];
int headerCol = 2;
Dictionary<string, int> map = Enumerable
.Range(ws.Dimension.Start.Column, 24 - ws.Dimension.Start.Column + 1)
.ToDictionary(col => ws.Cells[headerCol, col].Value.ToString().Trim(), col => col);
for (int rw = 3; rw <= ws.Dimension.End.Row; rw++)
{
if (!ws.Cells[rw, 1, rw, 24].All(c => c.Value == null))
{
lgl.GroupMembershipUploadInputList.Add(new GroupMembershipUploadInput()
{
cnst_mstr_id = (ws.Cells[rw, map["Master Id"]].Value ?? (Object)"").ToString(),
cnst_prefix_nm = (ws.Cells[rw, map["Prefix"]].Value ?? (Object)"").ToString(),
但現在我將如何確保字典圖只包含這些多指定的字符串鍵和沒有什麼比不同,例如主Id和前綴 - 只有這兩個,正是這兩個。
實際上有24個密鑰。是否有任何簡寫代碼要檢查?
'map.Keys.All(k => new [] {「Master ID」,「Prefix」} .Contains(k));'? – itsme86