[c#] 在C#中ToUpper()和ToUpperInvariant()有什麼區別?


Answers

Jon的回答很完美。 我只是想補充一點, ToUpperInvariant與調用ToUpper(CultureInfo.InvariantCulture)

這讓Jon的例子更簡單一些:

using System;
using System.Drawing;
using System.Globalization;
using System.Threading;
using System.Windows.Forms;

public class Test
{
    [STAThread]
    static void Main()
    {
        string invariant = "iii".ToUpper(CultureInfo.InvariantCulture);
        string cultured = "iii".ToUpper(new CultureInfo("tr-TR"));

        Application.Run(new Form {
            Font = new Font("Times New Roman", 40),
            Controls = { 
                new Label { Text = invariant, Location = new Point(20, 20), AutoSize = true }, 
                new Label { Text = cultured, Location = new Point(20, 100), AutoSize = true }, 
            }
        });
    }
}

我也使用了New Times Roman,因為它是一種較酷的字體。

我還設置了FormFont屬性而不是兩個Label控件,因為Font屬性是繼承的。

而且我減少了其他幾行,因為我喜歡緊湊的(例如非生產)代碼。

我現在真的沒有更好的辦法。

Question

在C#中, ToUpper()ToUpperInvariant()什麼ToUpperInvariant()

你能舉一個結果可能不同的例子嗎?










Related