DE CSharp Keyword explicit - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
C#: explicit
Handbuch C# · Praktischer Leitfaden
Deklariert eine benutzerdefinierte Transformation, die eine explizite Umwandlung erfordert; Möglicherweise gehen Daten verloren oder die Anmeldung wird überprüft.
Einfaches Beispiel (Example.cs)
Speichern Sie dieses Beispiel separat als Example.cs. Führen Sie es unabhängig von den anderen Beispielen dieser Seite aus.
Example.cs:
// PROJECT-EXAMPLE
Count count = (Count)7;
System.Console.WriteLine(count.Value);
readonly record struct Count(int Value)
{
public static explicit operator Count(int value) => new(value);
}
Ergebnis:
7
Syntax
public static explicit operator Target(Source value) => ...;
Beispiel 1: Grundform
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
public static class Program
{
public static async Task Main(string[] args)
{
Distance distance = 12;
Console.WriteLine((int)distance);
}
}
public readonly record struct Distance(int Value) { public static implicit operator Distance(int value) => new(value); public static explicit operator int(Distance value) => value.Value; }
Beispiel 2: eine weitere praktische Form
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
public static class Program
{
public static async Task Main(string[] args)
{
Label label = "ore";
Console.WriteLine((string)label);
}
}
public readonly record struct Label(string Text) { public static implicit operator Label(string text) => new(text); public static explicit operator string(Label label) => label.Text; }
Offizielle Quelle: Microsoft Learn.