LINQ к примеру можно использовать... (3.5 Framework) либо регулярное выражение типа: ^(.*)(\r?\n\1)+$ в $1 будет находится 1 экземпляр совпадения. Т.е. у тебя 5 слов - "Yo", в $1 будет "Yo". при этом 4-ре других отбросятся
W!z@rD,спасибо за помощ обязательно попробую) З.Ы. вот мой код,помогите найти где чего не хватает. Code: for (int k = 0; k < hex_colors.Count; k++ )//Начинаем проходить основной цикл... { bool status = false; int cnt = 0; for (int m = 0; m > list.Count; m++ )//далее проверяем,если из hex_colors ничего ли не совпало из list... { if (Convert.ToString(list[m]) == Convert.ToString(hex_colors[k]))//если совпало то делаем continue;,если нет то ничего не делаем... { status = true; break; } } if (status) { continue; } for (int l = k; l < hex_colors.Count; l++ )//в этом цикле начинаем подсчитывать совпадения { if (Convert.ToString(hex_colors[l]) == Convert.ToString(hex_colors[k])) { cnt++; } else//как только совпадения закончились записываем в list цвет и его количество ,далее делаем break; и начинаем основной цикл заного { list.Add(Convert.ToString(hex_colors[l-1])); list.Add(cnt); break; } } } for (int n = 0; n < list.Count; n++ )//пишем содержимое массива list в файл { tmpp += Convert.ToString(list[n]) + "\n"; } TextWriter data = new StreamWriter("data.txt"); data.WriteLine(tmpp); data.Close(); где hex_colors это отсортированный ArrayList с хтмл цветами внутри. где list это пустой ArrayList в который буду позже добавлять повторяющиеся цвета. И вот кодга я открываю файл посмотреть на его содержимое я вижу следующее... Code: #C02020 9 #C02020 8 #C02020 7 #C02020 6 #C02020 5 #C02020 4 #C02020 3 #C02020 2 #C02020 1 #C02040 133 #C02040 132 #C02040 131 #C02040 130 #C02040 129 #C02040 Да,отчасти это то что нужно но когда я получил цвет #C02020 и его кол 9(это все верно) поидее сразу должен идти след цвет(#C02040 с количеством 133),а у меня почемуто его кол с каждым разом уменьшается на 1,вообщем помогите найти где косяк. Заранее большое спасибо!)
Всем огромное спасибо за участие и помощ я смог сам разобраться-вот где надо поправить) Code: во первых тут неправильно- for (int m = 0; m [color=RED]>[/color] list.Count; m++ ) правильно- for (int m = 0; m [color=RED]<[/color] list.Count; m++ ) лол на такой фигне подлететь) и тут ещё неправильно: for (int l = [color=RED]k[/color]; l < hex_colors.Count; l++ ) { if (Convert.ToString(hex_colors[l]) == Convert.ToString(hex_colors[k])) { cnt++; } else { list.Add(Convert.ToString(hex_colors[l-1])); list.Add([color=RED]cnt[/color]); break; } } правильно: for (int l = [color=RED]k+1[/color]; l < hex_colors.Count; l++ ) { if (Convert.ToString(hex_colors[l]) == Convert.ToString(hex_colors[k])) { cnt++; } else { list.Add(Convert.ToString(hex_colors[l-1])); list.Add([color=RED]cnt+1[/color]); break; } }
Народ, подскажите плз литературу по шарпу(2008студио) для создания собственных форм, т.е. чтоб я знал как нарисовать свое окно программы, свой компонент и т.д. Заранее спасибо.
horlyk, C#. Разработка компонентов в MS Visual Studio 2005/2008 http://www.ozon.ru/context/detail/id/3963390/
Но ты же все равно пля, будешь юзать while!!! horlyk -> WPF, Microsoft Expression Blend, а вообще прежде чем что то делать, нужно выработать требования и составить архитектуру.
Да,знаю я не первый кто задает этот вопрос,просто нигде так и не смог найти корректного решения этой проблемы... Вот код и вопрос: Code: string filename = "test.txt"; File.CreateText(filename); File.Delete(filename); воть,пишет ошибку-нельзя удалить файл т.к. он используется другим процессом... Вариант-перезапустить программу и затем без проблем удалить... но мне это не подходит. Догадываюсь как-то можно намутить с FileStream или с чем то похожим, т.к. у него есть функция file.Close();. Вот собственно и вопрос как все это устроить? Заранее спасибо,с меня +. Всё оказалось гораздо проще чем я думал,воть может комунить тоже интерестно будет как избавиться от этой проблемы Code: string filename = "test.txt"; FileStream fl = File.Create(filename); fl.Close(); File.Delete(filename);
возник новый вопрос: с помощью: private void textBox2_KeyPress(object sender, KeyPressEventArgs e) { if (tabControl1.SelectedIndex==1) if (e.KeyChar < '0' || e.KeyChar > '9') e.KeyChar = '\0'; } можно заблокировать в текстБоксе все кнопки клавы, кроме цифр, как тоже самое сделать в столбце ДатаГридВиева?
Этот код разрешит вводить только цифры Code: private void textbox_KeyDown(object sender, KeyEventArgs e) { if (e.KeyValue > 47 && e.KeyValue < 58) { } else { e.SuppressKeyPress = true; } }