Я не уверен, чего вы хотите достичь, но, думаю, с вашим кодом есть некоторые проблемы (см. После кода).
Пример фрагмента:
Прежде всего, вы можно попытаться использовать этот код, чтобы получить представление об одном решении для получения дубликатов и количества дубликатов после чтения текстового файла с помощью словаря из System.Collections.Generi c:
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
// String array with duplicates
string[] Numbers = {"1","1", "2", "6","1","7","1","7","8","3"};
Dictionary<string, int> KeyNumbersValueCount = new Dictionary<string, int>();
foreach(string number in Numbers)
{
if(KeyNumbersValueCount.ContainsKey(number))
KeyNumbersValueCount[number] += 1;
else
KeyNumbersValueCount.Add(number, 1);
}
foreach(var NumberAndCount in KeyNumbersValueCount)
Console.WriteLine("The number " + NumberAndCount.Key + " appears " +
NumberAndCount.Value + " times(s)");
}
}
пример кода выше
Открытые проблемы с вашим кодом из вопроса:
Вам нужен счет? Он инициализируется, но никогда не используется
Если вам не нужен "whatIndex", то вы также можете инициализировать его в течение для l oop:
for (int whatIndex = 0; whatIndex < Duplicates.Length; whatIndex++)
{
// do s.th.
}
Вы пытаетесь перебрать всю длину строки "Duplicates", которая является "duplicates.txt" и, следовательно, имеет длину 14. Я думаю, вы хотите перебрать свои строки в вашем файле.
В вашем случае Random не имеет функции. Вы также можете использовать File.ReadAllText вместо File.ReadAllLines и передать его в output.text, если хотите только напечатать его. См. Ссылки Microsoft .