Как послать письмо на C#

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage(); message.To.Add("gerztrue@mail.ru"); message.Subject = "Это письмо из C#"; message.From =new System.Net.Mail.MailAddress("coder@coder.ru); message.Body = "Это текст письма"; System.Net.Mail.SmtpClient smtp =new System.Net.Mail.SmtpClient("Ваш SMTP сервер"); smtp.Send(message);

Сортировка по нескольким полям в linq

Бывает много случаев, когда необходима сортировка коллекций, данных сразу по нескольким полям. Можно конечно придумывать свои реализации, но с помощью linq это сделать гораздо проще. Предположим, что у нас есть список офисов и список сотрудников и мы хотим получить сортировку по офису и сортировку по …

Узнать время выполнения программы используя StopWatch

Во время разработки программы может возникнуть ситуация, когда Вы захотите узнать, сколько занимает времени та или иная процедура в коде, не медленно ли? Ответ на этот вопрос может дать класс StopWatch определенный в  System.Diagnostics, который как раз и получает время исполнения определенного куска кода. Чтобы …

Кто читает мои файлы. Доступ к сетевым ресурсам

Перевод Monitoring Access to Your Shared Files on Network Скачать:  Скачать:  ShareMonitor позволяет отслеживать доступ к сетевым ресурсам вашего компьютера. Когда кто-нибудь удаленно открывает файлы на вашем компьютере, программа отображает сей факт с выводом информации об имени файла, режиме чтения-записи, продолжительности подключения. Всю информацию можно экспортировать …

Перевести структуру в массив байтов в С#

public static byte[] StructToBuff<T>(T value) where T : struct { byte[] arr = new byte[Marshal.SizeOf(value)]; // создать массив GCHandle gch = GCHandle.Alloc(arr, GCHandleType.Pinned); // зафиксировать в памяти IntPtr ptr = Marshal.UnsafeAddrOfPinnedArrayElement(arr, 0); // и взять его адрес Marshal.StructureToPtr(value, ptr, true); // копировать в массив gch.Free(); …

DBFShow — Идём к сотому релизу 8)

 Когда начинал делать DBFShow сделал нумерацию версий с 0.01. Думал дойду до 100 и будет версия 1.0. А сейчас раздумал, думаю пусть будет версия 0.100 — это лично для меня значит, что программа не только, что появилась, а прошла долгий путь с 0.1 до 0.100 …

DotNetZip баг при сохранении данных с корневого раздела

При использовании DotNetZip столкнулся с непонятным поведением библиотеки если путь источник это весь диск ,например: c:\ или d:\ ZipFile zip = new ZipFile(«d:\arhiv.zip», Encoding.UTF8); zip.RemoveSelectedEntries(«*.xls»); zip.AddSelectedFiles(«*», «c:\», «Arhive», true); zip.Save(); В результате будет создан пустой архив. Начал копать, оказывается, в исходниках DotNetZIp в файле ZIpFile.Selector.cs …

Четыре алгоритма нечеткого поиска в c#. Сравнение строк

Перевод статьи Four Functions for Finding Fuzzy String Matches in C# Extensions Насколько похожи две строки? Насколько созвучны строки? Могут ли быть строки дубликатами из-за опечатки? Есть много случаев, когда эта информация может пригодится. В поисках ответов на эти вопросы, я нашёл единственный полезный ресурс от George …

BackupShow 8) Программа для резервного копирования

Для офисных нужд начал писать программу для автоматизации создания резервных копий данных пользователей, имеющихся баз данных и т.п. В данный момент на работе используется связка nncron который запускает  winrar по расписанию. Но у этой связки есть свои проблемы. Планируется написать программу чтобы были следующие возможности: …

Лучший бесплатный сетевой движок на C# -Lidgren Network library

Искал для одной из своих программок открытую сетевую библиотеку, и наткнулся на Lidgren Network library. Сразу стало очевидно, что это пожалуй лучший бесплатный сетевой движок на C#, к тому же opensource. Основные особенности Лёгок в использовании; Малая нагрузка на CPU; Количество подключений не ограничено. Надежность Дубликаты …