CSharp Conversions - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Перетворення та розбір значень
Неявне перетворення виконується без наведення, якщо воно дозволене типами. Явне записується (Type)value. Приведення числа не замінює розбір рядка. TryParse дозволяє перевірити текст без винятку, а checked виявляє цілечисленне переповнення.
Простий приклад (Example.cs)
Збережіть цей приклад окремо як Example.cs. Запускайте його незалежно від інших прикладів на сторінці.
Example.cs:
// PROJECT-EXAMPLE
if (int.TryParse("12", out int count))
System.Console.WriteLine(count + 1);
Результат:
13
int number = 42;
double wide = number;
int whole = (int)12.9;
if (int.TryParse("350", out int delay))
{
await WaitAsync(delay);
}
UO.Print($"{wide}, {whole}");
Використовуйте is для перевірки типу та as для перетворення типу посилання з результатом null при розбіжності. Boxing упаковує тип значення у object, unboxing вимагає відповідного вихідного типу.
object value = "target";
if (value is string name)
{
UO.Print(name.ToUpperInvariant());
}
long limit = checked((long)int.MaxValue + 1);
UO.Print(limit.ToString());
Офіційна документація: Перетворення та розбирання значень - Microsoft Learn.