Пожалуйста подскажите, к примеру есть массив из 4 строк
И нужно удалить строки, циклом в которых найдены повторяющиеся символы, то есть нужно удалить строки под номерами 2 и 3.
Как можно это сделать?
Задача распадается на две части, ключевая - понять, что строка имеет дубликаты букв.
Решать можно по-разному, вот лишь один вариант:
void Main()
{
var data = new [] {"ABCD", "ABCA", "ACCD", "ADCE"};
var result = data.Where(x => !HasDups(x)).ToArray();
}
// Define other methods and classes here
public bool HasDups(string sourse)
{
return sourse.Length != sourse.Distinct().Count();
}
Во-первых, я не удаляю строки - а отбираю в результирующий IEnumerable, во-вторых, я определяю дубликат простым способом: длина строки совпадает с длиной Distinct.
Также на большом so можно поискать вариации определения наличия дубликатов в строке без linq, вот например очень быстрая (за O(n) в худшем случае) и простая реализация на HashSet'ах:
public bool HasDups(string sourse)
{
var set = new HashSet<char>();
foreach (var c in sourse)
{
if (!set.Add(c))
return false;
}
return true;
}
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Есть множество значений которые изменяются со временемЕсли значение достигает определенного критического значения (у каждого оно свое),...
Вопрос: Есть 1 текстовый файл, в котором указаны пути файловВ списке нет разделителей типа ; или каких либо других
У меня есть директория (допустим string pathFile = P:\Database\new) , в которую нужно копировать файл, выбранный пользователемНачал писать: