C# для новичков, вопросы и ответы |
Здравствуйте Гость [ Вход | Регистрация ] | Форум в сети 7452-й день
![]() |
Шановні користувачі! Запрошуємо вас до офіційного телеграм-канала 0day Community. Тут ви зможете поспілкуватися одне з одним та дізнатися про останні новини щодо роботи ресурса, поставити запитання до адміністрації, тощо. Перейти до телеграм-канала можна відсканувавши QR-код або натиснувши на посилання: @zeroday_ua |
C# для новичков, вопросы и ответы |
| Barmivah |
Пост
#161
|
|
Репутация: 1 ![]() Дух Группа: Пользователи Сообщений: 17 С нами с: 18-March 09 |
Уважаемые прогеры, у меня назрел вопрос. Собственными силами в нете ответа не нашел.
Итак прогал я шифрование des. И вообщем-то запрогал, даже ответы сходяться Сегодня наткнулся на это: System.Text.Encoding COD = System.Text.Encoding.GetEncoding(1251); Но пока не понял как же им считывать и выводить инфу. Может кто сталкивался - подскажите. Сообщение отредактировал Barmivah - Apr 11 2010, 9:58 |
| surly |
Пост
#162
|
|
Репутация: -96 ![]() Cтаршой ![]() ![]() Группа: BANNED Сообщений: 922 С нами с: 2-December 07 |
Уважаемые прогеры, у меня назрел вопрос. Собственными силами в нете ответа не нашел. Итак прогал я шифрование des. И вообщем-то запрогал, даже ответы сходяться Сегодня наткнулся на это: System.Text.Encoding COD = System.Text.Encoding.GetEncoding(1251); Но пока не понял как же им считывать и выводить инфу. Может кто сталкивался - подскажите. используй класс Marshal. свою строку заверни в структурку и используй метод StructureToPtr. так же можно покопатся с небезопасным кодом (блок unsafe { ... }) |
| Gengzu |
Пост
#163
|
|
Репутация: 8 ![]() Дух Группа: Пользователи Сообщений: 190 С нами с: 2-July 07 |
так что ли?
string s = "test string"; Encoding enc = Encoding.GetEncoding(1251); byte[] b = enc.GetBytes(s); foreach (var ch in b) { Console.Write("{0,3:X}",ch); } Console.WriteLine(); Console.WriteLine(enc.GetString(b)); |
| Firebird |
Пост
#164
|
|
Репутация: 3 ![]() Дух Группа: Пользователи Сообщений: 37 С нами с: 18-December 06 |
Уважаемые прогеры, у меня назрел вопрос. Собственными силами в нете ответа не нашел. Итак прогал я шифрование des. И вообщем-то запрогал, даже ответы сходяться Сегодня наткнулся на это: System.Text.Encoding COD = System.Text.Encoding.GetEncoding(1251); Но пока не понял как же им считывать и выводить инфу. Может кто сталкивался - подскажите. Какая изначально кодировка, 1251 или, всё-же UTF? В зависимости от кодировки: Encoding enc = Encoding.GetEncoding(1251); У класса Encoding есть набор наиболее часто применяемых кодировок, например: Encoding enc = Encoding.UTF8; Encoding enc = Encoding.ASCII; С помощью этой кодировки можно выполнять преобразования: string str = "Hello Wordl!"; Byte[] data = enc.GetBytes(str); // в массив байтов string stringData = enc.GetString(data); // обратно в строку Если данные соответствуют выбранной кодировке, то обратное преобразование должно быть успешным. |
| KzD |
Пост
#165
|
|
Репутация: 9 ![]() Дух Группа: Пользователи Сообщений: 93 С нами с: 21-March 10 |
Доброго времени суток всем, имею следующую проблему. Нужно определять от каого юзера запущена программа
ОС: Windows .NET Framework 3.5 Visual Studio 2008 C# Банально вытащить имя юзера от кого запущен процес. Пытался на примере хрома. Process chrome; Собственно сабж, каким образм имея chrome как представителя класса System.Diagnostics.Process достать имя юзера? Process[] temp; temp = Process.GetProcessesByName("chrome"); chrome = temp[0]; Подключения библиотек не боюсь (они не кусаются), уже работал с user32.dll, знаю как это делается, но мне нужны какие-то более-менее рабочие примеры, т.к. гуглом ничего не нагуглил. Пусть даже не через System.Diagnostics, не имеет значения как. Все пытаются обращаться к Process.StartInfo.UserName для получения имени юзера, но это фэйл, в уже рабочих процесах все поля в StartInfo пустые, т.к. этот клас нужнен только для запуска процесов. |
| aminchenko |
Пост
#166
|
|
Репутация: 133 ![]() Активист ![]() Группа: Пользователи Сообщений: 239 С нами с: 21-December 06 |
Доброго времени суток всем, имею следующую проблему. Нужно определять от каого юзера запущена программа Смотри в сторону System.Management Посмотри пример - думаю разберёшься: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « Сообщение отредактировал aminchenko - Jul 16 2010, 15:16 |
| undertaker |
Пост
#167
|
|
Репутация: 12 ![]() Дух Группа: Validating Сообщений: 45 С нами с: 26-April 06 |
public class InteropHelper
{ [DllImport("advapi32.dll", SetLastError = true)] [DllImport("kernel32.dll", SetLastError = true)] public static String GetProcessIdentity(Process process)} GetProcessIdentity и вернет имя учетной записи. |
| Graf_Igor |
Пост
#168
|
|
Репутация: 0 ![]() Дух Группа: Validating Сообщений: 2 С нами с: 22-June 10 |
добрый день. у меня вопрос. никак не могу понять, в чем разница между интерфейсом и абстрактным классом?
P.S: если можна пример использования |
| olehzloy |
Пост
#169
|
|
Репутация: 24 ![]() Дух Группа: Пользователи Сообщений: 126 С нами с: 21-December 09 |
добрый день. у меня вопрос. никак не могу понять, в чем разница между интерфейсом и абстрактным классом? P.S: если можна пример использования Когда ты создаешь интерфейс, ты только описываешь все методы интерфейса. Когда ты создаешь абстрактный класс ты можешь создать как обычные методы(описание+реализация), так и абстрактные(только описание). Таким образом если ты опишешь 10 классов, реализующих интерфейс, но имеющих по 2 абсолютно одинаковых метода тебе придётся 20 раз писать одно и тоже. в то же время ты можешь создать абстракный класс и унаследовать его 10 производными классами. Результат один и тот же, но 2 способом кода намного меньше |
| Graf_Igor |
Пост
#170
|
|
Репутация: 0 ![]() Дух Группа: Validating Сообщений: 2 С нами с: 22-June 10 |
Когда ты создаешь интерфейс, ты только описываешь все методы интерфейса. Когда ты создаешь абстрактный класс ты можешь создать как обычные методы(описание+реализация), так и абстрактные(только описание). Таким образом если ты опишешь 10 классов, реализующих интерфейс, но имеющих по 2 абсолютно одинаковых метода тебе придётся 20 раз писать одно и тоже. в то же время ты можешь создать абстракный класс и унаследовать его 10 производными классами. Результат один и тот же, но 2 способом кода намного меньше о, спасибо большое. очень хорошо объяснили. |
| KzD |
Пост
#171
|
|
Репутация: 9 ![]() Дух Группа: Пользователи Сообщений: 93 С нами с: 21-March 10 |
2aminchenko, 2undertaker:
Спасибо большое обоим, всё работает. Даже не знаю, что лучше использовать. З.Ы. ещё 2aminchenko я бы использовал не Console.Read(); а Console.ReadKey(true); |
| twix |
Пост
#172
|
|
Репутация: 135 ![]() Cтаршой ![]() ![]() Группа: Пользователи Сообщений: 621 С нами с: 21-December 07 |
Посоветуйте идеальную книгу по С#, типо как Лафоре по С++. Нужен как синтаксис языка так и принципы ООП, чтобы повторить, так сказать. Буду очень благодарен.
|
| olehzloy |
Пост
#173
|
|
Репутация: 24 ![]() Дух Группа: Пользователи Сообщений: 126 С нами с: 21-December 09 |
Троелсен. Язык программирование на C# и платформа .NET X.X Лучшей книги для новичка не встречал.
|
| Ko3bIPb |
Пост
#174
|
|
Репутация: 1 ![]() Дух Группа: Пользователи Сообщений: 11 С нами с: 14-March 10 |
Я думаю что для новичка - лутше всего это практика. Например есть задача создать сайт с возможностью загрузки файлов. Или написать какойто проигрыватель. Ставь задачу и делай, а вот курить теорию толку будет мало.
Из теории реккомендую: Кента Бека Мартина Фаулера И культовую книгу "Рефакторинг с использованием шаблонов проектирования". Все дело в практике) |
| olehzloy |
Пост
#175
|
|
Репутация: 24 ![]() Дух Группа: Пользователи Сообщений: 126 С нами с: 21-December 09 |
А я бы наоборот советовал не оч налегать на самообучение практикой. Ибо именно так рождаются быдлокодеры
|
| twix |
Пост
#176
|
|
Репутация: 135 ![]() Cтаршой ![]() ![]() Группа: Пользователи Сообщений: 621 С нами с: 21-December 07 |
Учить только с помощью практики это очень долгий и тернистый путь, мне хватило метода проб и ошибок с С++. Тут хочется более серьезно подойти, чтобы была теор база, которую потом подкрепить практикой.
|
| twix |
Пост
#177
|
|
Репутация: 135 ![]() Cтаршой ![]() ![]() Группа: Пользователи Сообщений: 621 С нами с: 21-December 07 |
Есть какой-то класс и такая проблемка:
» Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « |
| olehzloy |
Пост
#178
|
|
Репутация: 24 ![]() Дух Группа: Пользователи Сообщений: 126 С нами с: 21-December 09 |
Есть какой-то класс и такая проблемка: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « Не уверен, что решение оч правильное, но можешь сделать наследника Класс1_1, который переопределит ТоСтринг, чтобы возвращать имя и возраст. В 1 листбокс отправь обьект, как Класс1, а в другой как Класс1_1 |
| Gengzu |
Пост
#179
|
|
Репутация: 8 ![]() Дух Группа: Пользователи Сообщений: 190 С нами с: 2-July 07 |
Есть какой-то класс и такая проблемка: » Нажмите, чтобы показать спойлер - нажмите опять, чтобы скрыть... « В данном случае решение будет таким. 1. Сам класс: public class Person { public string Name { get; set; } public int Age { get; set; } public string NameAndAge { get { return Name + ", " + Age; } } } 2. Инициализация массива. Как пример. Может быть и по другому: Person[] persons = new Person[] { new Person {Name = "Вася", Age = 16}, new Person {Name = "Петя", Age = 18}, new Person {Name = "Маша", Age = 14}, }; 3. Отображение. Первый листбокс отображает только имя, второй имя и после запятой возраст: this.listBox1.DataSource = persons; this.listBox1.DisplayMember = "Name"; this.listBox2.DataSource = persons; this.listBox2.DisplayMember = "NameAndAge"; Последние два куска можно засунуть куда-нить в конструктор формы, или Form.OnLoad |
| di_ez |
Пост
#180
|
|
Репутация: 14 ![]() Активист ![]() Группа: Пользователи Сообщений: 240 С нами с: 1-January 08 |
Интересует небольшая мелочь. Как в Си-шарп передать функцию в другую функцию параметром?
ЗЫ. Я знаю что в С++ такое возможно, путем создания указателя на ф-цию, но может кто-то знает как сделать такое тут |
| JONSON |
Пост
#1
|
|
Репутация: 176 ![]() Постоялец ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 057 С нами с: 17-January 08 |
del
Сообщение отредактировал JONSON - Aug 14 2015, 10:38 |
![]() ![]() |
![]() ![]() |
|
Упрощённая версия | Сейчас: 9th August 2026 - 16:28 |
| Сайт не розміщує електронні версії творів, а займається лише колекціонуванням та каталогізацією посилань, що публікуються нашими користувачами. Якщо Ви є правовласником якоїсь частини опублікованого матеріалу та не бажаєте, щоб посилання на нього знаходилось в нашому каталозі, зв’яжіться з нами і ми видалимо його. Файли для обміну надані користувачами сайту і адміністрація не несе відповідальності за їх вміст. |