Skip to content

ZH TW CSharp Operators Partial

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

運算子重載和部分類型

手冊C# · 範例UO

本機類型可以重載允許的運算子、聲明轉換並指定比較。這樣的操作必須有明確的涵義。 partial 將類型宣告合併到一次編譯中;其中一部分不會作為獨立專案自動執行。

簡單範例 (Example.cs)

請將此範例另存為 Example.cs,並與本頁其他範例分開執行。

Example.cs:

// PROJECT-EXAMPLE
var sum = new Count(2) + new Count(3);
System.Console.WriteLine(sum.Value);
readonly record struct Count(int Value)
{
    public static Count operator +(Count a, Count b) => new(a.Value + b.Value);
}

結果:

5
readonly record struct Amount(int Value)
{
    public static Amount operator +(Amount left, Amount right) => new(left.Value + right.Value);
}
Amount total = new Amount(2) + new Amount(3);
UO.Print(total.Value.ToString());
partial class Counter
{
    public int Value { get; private set; }
}
partial class Counter
{
    public void Increment() => Value++;
}
var counter = new Counter();
counter.Increment();
UO.Print(counter.Value.ToString());

官方文件:運算子重載和部分類型 - Microsoft Learn。

Clone this wiki locally