跳過到頁腳內容
.NET幫助

C#命名規則(對開發者如何理解的工作)

命名約定是一組開發人員遵循的規則和指南,以一致性地命名變量、方法、類別和其他實體。 一致的命名不僅能提高代碼可讀性,還有助於其他開發人員理解和維護您的代碼。 下面,我們將逐步介紹C#命名約定,重點是實際用法和示例。 讓我們立即深入了解命名約定,稍後在文章中介紹IronPDF程式庫

命名約定概述

類別和介面

類別名稱應遵循帕斯卡大寫命名約定。 這意味著名稱中的每個單詞都以大寫字母開頭,沒有下劃線或空格。 介面名稱應該也遵循帕斯卡大寫,但以字首I開頭。 例如:

public class Customer
{
    public decimal Balance { get; set; }
}

public interface ICustomer
{
    decimal GetBalance();
}
public class Customer
{
    public decimal Balance { get; set; }
}

public interface ICustomer
{
    decimal GetBalance();
}
$vbLabelText   $csharpLabel

注意類別名稱ICustomer都遵循帕斯卡大寫。 ICustomer類型是介面。

方法

方法名稱也使用帕斯卡大寫。 每個方法名稱應以大寫字母開頭,隨後的每個單詞也應以大寫字母開頭。 以下是方法定義的示例:

public decimal CalculateInterest(decimal principal, decimal rate)
{
    return principal * rate;
}
public decimal CalculateInterest(decimal principal, decimal rate)
{
    return principal * rate;
}
$vbLabelText   $csharpLabel

對於入口點方法,static void Main(),約定是一樣的——方法名稱使用帕斯卡大寫。

屬性

像方法名稱一樣,屬性名稱也使用帕斯卡大寫。 屬性應被命名以清楚描述它們代表的內容:

public DateTime DateOpened { get; set; }
public decimal Reserves { get; set; }
public DateTime DateOpened { get; set; }
public decimal Reserves { get; set; }
$vbLabelText   $csharpLabel

局部變量和方法參數

局部變量方法參數應使用駱駝大寫。 這意味著第一個單詞是小寫,其後的單詞以大寫字母開頭,沒有空格或下劃線。 這與帕斯卡大寫的不同之處在於,第一個字母不大寫。

public void SelectCustomer(string customerName)
{
    var selectedCustomer = FindCustomer(customerName);
}
public void SelectCustomer(string customerName)
{
    var selectedCustomer = FindCustomer(customerName);
}
$vbLabelText   $csharpLabel

在此示例中,局部變量customerName也使用駱駝大寫。

方法參數

方法參數的名稱應該具有描述性,並遵循駱駝大寫命名約定。 這提高了代碼可讀性,並幫助開發人員了解每個參數的含義。

public void AddCustomer(string customerName, DateTime dateOpened)
{
    // Add customer logic
}
public void AddCustomer(string customerName, DateTime dateOpened)
{
    // Add customer logic
}
$vbLabelText   $csharpLabel

靜態成員和欄位

類中的靜態成員,如靜態欄位常量方法,也遵循特定的命名約定。

靜態欄位

對於靜態欄位,命名約定是使用駱駝大寫,但前面加一個下劃線字首。 這將它們與其他欄位區分開來。

private static int _totalCustomers;
private static int _totalCustomers;
$vbLabelText   $csharpLabel

常量

常量通常使用全部大寫字母命名,單詞之間用下劃線分隔以提高可讀性。 例如:

public const int MAX_CUSTOMERS = 100;
public const int MAX_CUSTOMERS = 100;
$vbLabelText   $csharpLabel

事件處理程序

事件處理程序方法名稱應描述它們處理的事件,通常使用On字首後接事件名稱。 事件處理程序方法的參數通常包括對象sender和事件參數。

private void OnCustomerAdded(object sender, EventArgs e)
{
    // Event handling logic
}
private void OnCustomerAdded(object sender, EventArgs e)
{
    // Event handling logic
}
$vbLabelText   $csharpLabel

在這種情況下,參數命名為e。 遵循這種命名約定使事件處理程序符合行業標準。

命名私人欄位和對象初始化器

私人欄位應遵循駱駝大寫,但帶有下劃線字首。 這有助於將它們與局部變量和方法參數區分開來。

private string _customerName;
private string _customerName;
$vbLabelText   $csharpLabel

使用對象初始化器時,您可以在創建類實例時直接賦值給屬性:

var seattleCustomer = new Customer
{
    Balance = 1000,
    DateOpened = DateTime.Now
};
var seattleCustomer = new Customer
{
    Balance = 1000,
    DateOpened = DateTime.Now
};
$vbLabelText   $csharpLabel

在此示例中,屬性名稱DateOpened以帕斯卡大寫,遵循屬性約定。

異常處理和方法

在處理異常時,方法名稱仍應遵循帕斯卡大寫約定。 異常類名也應以帕斯卡大寫,并以Exception字首結尾。 例如:

public void ProcessTransaction()
{
    try
    {
        // Transaction logic
    }
    catch (InvalidOperationException ex)
    {
        // Handle exception
    }
}
public void ProcessTransaction()
{
    try
    {
        // Transaction logic
    }
    catch (InvalidOperationException ex)
    {
        // Handle exception
    }
}
$vbLabelText   $csharpLabel

返回類型和方法定義

始終確保您的方法定義具有有意義的名稱和適當的返回類型。返回類型應從方法簽名中清楚看出。 這裡有一個例子:

public decimal CalculateTotalBalance()
{
    return _totalCustomers * balancePerCustomer;
}
public decimal CalculateTotalBalance()
{
    return _totalCustomers * balancePerCustomer;
}
$vbLabelText   $csharpLabel

在此示例中,方法名稱CalculateTotalBalance具有描述性,並遵循帕斯卡大寫命名約定。

C#常量的命名約定

在C#中,常量名稱應為全部大寫字母,單詞之間用下劃線分隔。 這使常量在其他變量中脫穎而出。 這裡有一個例子:

public const double PI = 3.14159;
public const double PI = 3.14159;
$vbLabelText   $csharpLabel

該約定適用於不同類型,確保常量名稱一致並易於在代碼中識別。

C#換行和大括號的編碼約定

C#也有換行和大括號的編碼約定。 在C#中,每個開頭的大括號}應位於新行上,與相應的語句對齊。 這裡有一個例子:

public void AddCustomer(string customerName)
{
    if (!string.IsNullOrEmpty(customerName))
    {
        _customerName = customerName;
    }
}
public void AddCustomer(string customerName)
{
    if (!string.IsNullOrEmpty(customerName))
    {
        _customerName = customerName;
    }
}
$vbLabelText   $csharpLabel

使用正確的格式使代碼更易於閱讀和跟隨。

避免匈牙利標記法

在現代C#開發中,不鼓勵使用匈牙利標記法,即用數據類型作為變量名稱的字首(例如,strName代表字符串或intCount代表整數)。 相反,使用有意義的名稱來描述變量的用途,而不是僅描述其數據類型:

public string CustomerName { get; set; }
public int OrderCount { get; set; }
public string CustomerName { get; set; }
public int OrderCount { get; set; }
$vbLabelText   $csharpLabel

這種方法使代碼更清晰,更易於維護。

使用IronPDF的命名約定

C#命名約定(如何適用於開發人員):圖1-IronPDF:C# PDF程式庫

IronPDF整合到您的C#項目中時,遵循命名約定以保持代碼的清晰和可讀性是很重要的。 IronPDF允許您在C#應用程序中從HTML內容生成PDF文件。 在這樣做時,遵循類別、方法和變量的命名約定來保持一致性是很重要的。 以下是一個簡單實現命名約定的示例,通過使用IronPDF提高代碼可讀性,同時遵循這些命名約定:

using IronPdf;

public class PdfReportGenerator
{
    private readonly string _htmlContent;
    private readonly string _filePath;

    public PdfReportGenerator(string htmlContent, string filePath)
    {
        _htmlContent = htmlContent;
        _filePath = filePath;
    }

    public void GenerateReport()
    {
        var pdfRenderer = new ChromePdfRenderer();
        PdfDocument pdfDocument = pdfRenderer.RenderHtmlAsPdf(_htmlContent);
        pdfDocument.SaveAs(_filePath);
    }
}

public static class Program
{
    public static void Main()
    {
        var htmlContent = "<h1>Monthly Report</h1><p>Generated using IronPDF.</p>";
        var filePath = @"C:\Reports\MonthlyReport.pdf";
        PdfReportGenerator reportGenerator = new PdfReportGenerator(htmlContent, filePath);
        reportGenerator.GenerateReport();
    }
}
using IronPdf;

public class PdfReportGenerator
{
    private readonly string _htmlContent;
    private readonly string _filePath;

    public PdfReportGenerator(string htmlContent, string filePath)
    {
        _htmlContent = htmlContent;
        _filePath = filePath;
    }

    public void GenerateReport()
    {
        var pdfRenderer = new ChromePdfRenderer();
        PdfDocument pdfDocument = pdfRenderer.RenderHtmlAsPdf(_htmlContent);
        pdfDocument.SaveAs(_filePath);
    }
}

public static class Program
{
    public static void Main()
    {
        var htmlContent = "<h1>Monthly Report</h1><p>Generated using IronPDF.</p>";
        var filePath = @"C:\Reports\MonthlyReport.pdf";
        PdfReportGenerator reportGenerator = new PdfReportGenerator(htmlContent, filePath);
        reportGenerator.GenerateReport();
    }
}
$vbLabelText   $csharpLabel

遵循這些命名約定,您的代碼在使用IronPDF生成報告時更加專業、有序且易於閱讀。

結論

C#命名約定(如何適用於開發人員):圖2-IronPDF許可頁面

通過遵循這些C#命名約定,您可以確保代碼清晰、可讀和易於維護。 無論是使用帕斯卡大寫命名類名、駱駝大寫命名局部變量,還是對私人欄位使用下劃線字首,這些約定都有助於建立一致的代碼庫。

有了IronPDF,您可以立即測試其所有功能,並通過免費試用探索其所有功能。 這個試用版本讓您能夠親自實驗,並看到它如何整合到您的工作流程中。 當您準備好邁出下一步時,許可從僅$799開始。

常見問題解答

什麼是 C# 類別和介面的一般命名慣例?

在 C# 中,類別和介面應使用 Pascal 命名法,每個單詞的首字母大寫。介面還應包括 "I" 前綴,例如 'ICustomer'。

我如何確保 C# 中的方法名符合最佳實踐?

C# 中的方法名稱應遵循 Pascal 命名法,每個單詞的首字母大寫。此命名法適用於所有方法,包括入口方法 Main

在 C# 中推薦的本地變數命名方式是什麼?

在 C# 中,局部變數和方法參數應使用駝峰式命名,即第一個單詞小寫,隨後的每個單詞首字母大寫。

C# 中靜態字段應如何命名?

在 C# 中,靜態字段應使用駝峰式命名並在前面加上下劃線以區分它們與其他字段。

C# 中常數的命名慣例是什麼?

在 C# 中,常數應使用所有大寫字母命名,並用下劃線分隔單詞,這可以使它們易於辨識。

我如何在使用 C# 命名慣例的同時使用庫?

在 C# 中使用庫(如 IronPDF)時,透過遵循命名慣例來保持代碼的清晰可讀性。這包括對類別和方法使用 Pascal 命名法,對變數使用駝峰式命名。例如,可以使用 IronPDF 從 HTML 生成 PDF,同時保持一致的命名慣例。

為什麼不推薦在 C# 中使用匈牙利命名法?

在現代 C# 開發中不推薦使用匈牙利命名法,因為它可能會使代碼的可讀性下降。相反,應使用能夠描述變數目的的有意義名稱並遵循已建立的命名慣例。

C# 中的事件處理程序方法應如何命名?

C# 中的事件處理程序方法的命名應描述其處理的事件,通常使用 'On' 前綴,接著是事件名稱。這有助於明確方法的目的。

C# 中 private 字段應遵循哪些命名慣例?

C# 中的 private 字段應使用帶有下劃線前綴的駝峰式命名。這有助於區分它們與局部變量和方法參數。

命名慣例如何使 C# 開發人員受益?

命名慣例提高了代碼的可讀性和可維護性,使開發人員更容易理解和處理代碼。在使用如 IronPDF 這樣的庫的 C# 項目中,保持一致的命名以確保專業且清晰的代碼庫。

Jacob Mellor, Team Iron 首席技術官
首席技術官

Jacob Mellor是Iron Software的首席技術官,也是開創C# PDF技術的前瞻性工程師。作為Iron Software核心代碼庫的原始開發者,他自公司成立以來就塑造了公司的產品架構,並與CEO Cameron Rimington將公司轉型為服務NASA、Tesla以及全球政府機構的50多人公司。

Jacob擁有曼徹斯特大學土木工程一級榮譽學士學位(1998年–2001年)。他於1999年在倫敦開立首家軟體公司,並於2005年建立了他的第一個.NET組件,專注於解決Microsoft生態系統中的複雜問題。

他的旗艦作品IronPDF和Iron Suite .NET程式庫全球已獲得超過3000萬次NuGet安裝,他的基礎代碼不斷在全球各地驅動開發者工具。擁有25年以上的商業經驗和41年的編碼專業知識,Jacob仍然專注於推動企業級C#、Java和Python PDF技術的創新,同時指導下一代技術領導者。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me