Для сортировки List<T> по свойству объекта в C# можно использовать методы расширения OrderBy() или OrderByDescending() LINQ, которые являются частью пространства имен System.Linq. Приведем пример сортировки…
💜
Для сортировки List<T> по свойству объекта в C# можно использовать методы расширения OrderBy() или OrderByDescending() LINQ, которые являются частью пространства имен System.Linq. Приведем пример сортировки…
C# — это современный объектно-ориентированный язык программирования, разработанный компанией Microsoft. С момента своего появления в 2000 году он стал одним из самых популярных языков программирования…
В C# для удаления элемента из массива необходимо выполнить несколько шагов: Определить индекс элемента, который нужно удалить. Создать новый массив, который будет содержать все элементы,…
Для проверки подключения к интернету, можно воспользоваться классом WebRequest и получить ответ со стороны сервера сайта:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
class Program { static void Main() { Console.WriteLine(CheckForInternetConnection() ? "Works" : "It doesn't work"); } public static bool CheckForInternetConnection(int timeoutMs = 10000, string url = "https://www.google.com/") { try { var request = (HttpWebRequest)WebRequest.Create(url); request.KeepAlive = false; request.Timeout = timeoutMs; using (var response = (HttpWebResponse)request.GetResponse()) return true; } catch { return false; } } } |
К приему есть следующий класс:
1 2 3 4 5 6 7 8 |
public class Book { [Author("AuthorName")] public string Name { get; private set; } } |
Как получить имя свойства и его атрибута из класса? Можно использовать рефлексию:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
public static Dictionary<string, string> GetAuthors() { Dictionary<string, string> _dict = new Dictionary<string, string>(); PropertyInfo[] props = typeof(Book).GetProperties(); foreach (PropertyInfo prop in props) { object[] attrs = prop.GetCustomAttributes(true); foreach (object attr in attrs) { AuthorAttribute authAttr = attr as AuthorAttribute; if (authAttr != null) { string propName = prop.Name; string auth = authAttr.Name; _dict.Add(propName, auth); } } } return _dict; } |
Используйте typeof(Book).GetProperties(), чтобы получить массив экземпляров…
Поскольку невозможно сделать асинхронный конструктор, так как после возврата конструктора вы должны получить полностью инициализированный объект. А не объект, который на самом деле будет правильно…
Перевернуть строку можно с помощью метода Array.Reverse или оператора Xor, рассмотрим когда использовать каждый из вариантов. Если вам необходимо перевернуть строку не большого размера до…
Обычно (если речь не идет о строках) Equals сравнивает значения, а == сравнивает объектные ссылки. Если два сравниваемых объекта ссылаются на один и тот же…
Используйте то, что вы и ваша команда считаете наиболее удобным для чтения. Кому-то нравится более короткий вариант, кому-то с использование класса. С точки зрения производительности…
Для удаления всех файлов из папки, можно воспользоваться классами DirectoryInfo и FileInfo:
1 2 3 4 5 6 7 8 9 10 |
DirectoryInfo di = new DirectoryInfo("YourPath"); foreach (FileInfo file in di.GetFiles()) { file.Delete(); } foreach (DirectoryInfo dir in di.GetDirectories()) { dir.Delete(true); } |
Если в вашем каталоге может быть много файлов, EnumerateFiles() более эффективна, чем…