У меня есть список, и я получаю каждый элемент в списке в цикле foreach
.
private void saveButton_Click(object sender, EventArgs e)
{
if (saveFile1.ShowDialog() == DialogResult.OK)
{
StreamWriter sw = new StreamWriter(saveFile1.FileName);
int i = 1;
Dictionary<string, int> dictionary = new Dictionary<string, int>();
foreach (var line in theFinalList)
{
//compareList.Add(line.PartNumber[]);
if (!line.Name.Contains("FID") || !line.PartNumber.Contains("FIDUCIAL") ||
!line.PartNumber.Contains("EXCLUDES") || !line.PartNumber.Contains("excludes"))
{
//This doesn't work obviously.. :/
sw.WriteLine("( {0} 0 1 1 0 0 0 0 \"{1}\" \"{2}\" \"\" {3} 0 0 0 0 0 )",
i, line.PartDescription, line.PartNumber, partNumberOccurrences);
}
i++;
}
}
И у меня возникают проблемы с использованием словаря для сохранения каждой части строки в словаре и увеличения элемента itemCounter всякий раз, когда он обнаруживается как дубликат. Я пытаюсь сделать что-то подобное, но не могу понять логику для этого.
И я хотел бы вывести только partNumber 1 раз, а также количество раз, когда оно произошло, и соответствующее значение в той же строке, что и partNumber.
Вывод будет выглядеть так:
( 1 0 1 1 0 0 0 0 "2125R_1.0" "136380" "" 18 0 0 0 0 0 )
( 2 0 1 1 0 0 0 0 "2125R_1.0" "128587" "" 41 0 0 0 0 0 )
( 3 0 1 1 0 0 0 0 "2125R_1.0" "138409" "" 11 0 0 0 0 0 )
( 4 0 1 1 0 0 0 0 "2125R_1.0" "110984" "" 8 0 0 0 0 0 )
( 5 0 1 1 0 0 0 0 "3216R_1.3" "114441" "" 6 0 0 0 0 0 )
( 6 0 1 1 0 0 0 0 "3216C_1.3" "2006722" "" 16 0 0 0 0 0 )
( 7 0 1 1 0 0 0 0 "3216C_1.3" "135732" "" 6 0 0 0 0 0 )
Может кто-нибудь помочь мне с созданием словаря для этого?