У меня есть следующий код, который генерирует два массива без дубликатов целых чисел на основе отношения. Коды работают отлично, но для файла с 4000 строк это занимает некоторое время.Создайте два массива не дублирующих чисел
//Train & Test numbers
int train = (int)(((double)Settings.Default.TrainingRatio/100) * inputLines.Count());
int test = inputLines.Count() - train;
//Train & Test list
Random rnd = new Random();
var trainList = Enumerable.Range(1, inputLines.Count()).OrderBy(x => rnd.Next()).Take(train).ToList();
var testList = new List<int>();
for (int i = 1; i <= inputLines.Count(); i++)
{
if (!trainList.Contains(i))
testList.Add(i);
}
И еще хуже, это то, как я прочитал эти строки:
foreach (var n in trainList)
{
objDataintilizer.GenerateMasterLableFile(inputLines.Skip(n - 1).Take(1).First().ToString());
}
Могли
любой другой способ советы, которые могли бы иметь более высокую производительность.
Какой тип 'inputLines'? –
его список, содержащие строки –
ykh
Как вы читаете эти строки? –