Створення мобільного застосунку на C# передбачає використання фреймворка для розробки мобільних застосунків, як-от Xamarin або .NET MAUI, який дає змогу створювати крос-платформні мобільні застосунки за…
💜
У всех начинающих и опытных разработчиков, рано или поздно возникнет ситуация, решение которой не приходит самостоятельно. Эта рубрика содержит коллекцию распространенных вопросов по «Языку Программирования C#». От создания массива, до создания веб-сервиса.
Створення мобільного застосунку на C# передбачає використання фреймворка для розробки мобільних застосунків, як-от Xamarin або .NET MAUI, який дає змогу створювати крос-платформні мобільні застосунки за…
Щоб створити масив випадкових чисел у C#, ви можете використовувати клас Random із простору імен System. Ось приклад:
1 2 3 4 5 6 7 8 9 |
int arraySize = 10; // size of the array int[] randomArray = new int[arraySize]; // create an array of the given size Random rand = new Random(); // create a new instance of the Random class for (int i = 0; i < arraySize; i++) // loop through the array { randomArray[i] = rand.Next(); // assign a random integer to each element of the array } |
У наведеному вище прикладі rand.Next() генерує…
У C# клонування об’єкта означає створення його копії. Однак існує два типи клонування: неглибоке клонування і глибоке клонування. Під час неглибокого клонування створюється новий об’єкт,…
У C# ви можете використовувати метод TryParse для розбору рядка в параметр загального типу. Однак, оскільки TryParse є статичним методом вбудованих типів, таких як int,…
Для сортування List<T> за властивістю об’єкта в C# можна використовувати методи розширення OrderBy() або OrderByDescending() LINQ, які є частиною простору імен System.Linq. Наведемо приклад сортування…
У C# для видалення елемента з масиву необхідно виконати кілька кроків: 1. Визначити індекс елемента, який потрібно видалити. 2. Створити новий масив, який міститиме всі…
Для перевірки підключення до інтернету, можна скористатися класом 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, розглянемо коли використовувати кожен з варіантів. Якщо вам необхідно перевернути рядок не великого розміру до…