在实际环境中测试
在生产中测试无水印。
随时随地为您服务。
命名约定术语表》是一套规则和指南,开发人员在命名变量、方法、类和其他实体时必须遵守。 一致的命名不仅能提高代码的可读性,还能帮助其他开发人员理解和维护您的代码。 下面,我们将逐步介绍 C# 命名规范,重点是实际用法和示例。 让我们直接进入命名规则和IronPDF 库在文章的后面。
类名应遵循 Pascal Case 命名规则。 这意味着名称中的每个单词都必须以大写字母开头,不得使用下划线或空格。 接口名称也应遵循 Pascal Case,但以前缀 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();
}
Public Class Customer
Public Property Balance() As Decimal
End Class
Public Interface ICustomer
Function GetBalance() As Decimal
End Interface
请注意类名 Customer 和接口名 ICustomer 都遵循了 Pascal Case。 前缀 I 表明 ICustomer 类型是一个接口。
方法名称也使用 Pascal Case。 每个方法名称都应以大写字母开头,随后的每个单词也应以大写字母开头。 下面是一个方法定义的例子:
public decimal CalculateInterest(decimal principal, decimal rate)
{
return principal * rate;
}
public decimal CalculateInterest(decimal principal, decimal rate)
{
return principal * rate;
}
Public Function CalculateInterest(ByVal principal As Decimal, ByVal rate As Decimal) As Decimal
Return principal * rate
End Function
对于入口点方法,static void Main()方法名称使用 Pascal Case。
与方法名称一样,属性名称也使用 Pascal Case。 属性的命名应清楚地描述其代表的内容:
public DateTime DateOpened { get; set; }
public decimal Reserves { get; set; }
public DateTime DateOpened { get; set; }
public decimal Reserves { get; set; }
Public Property DateOpened() As DateTime
Public Property Reserves() As Decimal
局部变量和方法参数应使用驼峰式大小写。 这意味着第一个单词使用小写,后面的单词以大写字母开头,没有空格或下划线。 与 Pascal's Case 不同的是,第一个字母不大写。
public void SelectCustomer(string customerName)
{
var selectedCustomer = FindCustomer(customerName);
}
public void SelectCustomer(string customerName)
{
var selectedCustomer = FindCustomer(customerName);
}
Public Sub SelectCustomer(ByVal customerName As String)
Dim selectedCustomer = FindCustomer(customerName)
End Sub
在本例中,本地变量 selectedCustomer 采用了驼峰式大小写,方法参数 customerName 也采用了驼峰式大小写。
方法参数的名称应具有描述性,并遵循驼峰式命名惯例。 这样可以提高代码的可读性,帮助开发人员理解每个参数所代表的含义。
public void AddCustomer(string customerName, DateTime dateOpened)
{
// Add customer logic
}
public void AddCustomer(string customerName, DateTime dateOpened)
{
// Add customer logic
}
Public Sub AddCustomer(ByVal customerName As String, ByVal dateOpened As DateTime)
' Add customer logic
End Sub
类中的静态成员,如静态字段、常量和方法,也遵循特定的命名约定。
对于静态字段,命名惯例是使用驼峰大小写,但带有underscore 前缀。 这是与其他领域的区别所在。
private static int _totalCustomers;
private static int _totalCustomers;
Private Shared _totalCustomers As Integer
常量通常使用大写字母命名,单词之间用下划线分隔,以提高可读性。 例如
public const int MAX_CUSTOMERS = 100;
public const int MAX_CUSTOMERS = 100;
Public Const MAX_CUSTOMERS As Integer = 100
Event handler 方法名称应描述其所处理的事件,通常使用 On 前缀,后跟事件名称。 事件处理方法的参数通常包括对象发送者和事件参数。
private void OnCustomerAdded(object sender, EventArgs e)
{
// Event handling logic
}
private void OnCustomerAdded(object sender, EventArgs e)
{
// Event handling logic
}
Private Sub OnCustomerAdded(ByVal sender As Object, ByVal e As EventArgs)
' Event handling logic
End Sub
在本例中,参数被命名为发送方和接收方。 遵循这一命名约定可使您的事件处理程序与行业标准保持一致。
私人字段应采用驼峰式大小写,但前缀应使用下划线。 这有助于将它们与局部变量和方法参数区分开来。
private string _customerName;
private string _customerName;
Private _customerName As String
使用对象初始化器时,您可以在创建类的实例时直接为属性赋值:
var seattleCustomer = new Customer
{
Balance = 1000,
DateOpened = DateTime.Now
};
var seattleCustomer = new Customer
{
Balance = 1000,
DateOpened = DateTime.Now
};
Dim seattleCustomer = New Customer With {
.Balance = 1000,
.DateOpened = DateTime.Now
}
在本例中,属性名称 Balance 和 DateOpened 使用了 Pascal Case,遵循了属性的惯例。
在处理异常时,方法名称仍应遵循 Pascal Case 惯例。 异常类名称也应使用 Pascal Case,并以后缀 Exception 结尾。 例如
public void ProcessTransaction()
{
try
{
// Transaction logic
}
catch (InvalidOperationException ex)
{
// Handle exception
}
}
public void ProcessTransaction()
{
try
{
// Transaction logic
}
catch (InvalidOperationException ex)
{
// Handle exception
}
}
Public Sub ProcessTransaction()
Try
' Transaction logic
Catch ex As InvalidOperationException
' Handle exception
End Try
End Sub
始终确保您的方法定义具有有意义的名称和适当的返回类型。方法签名中应明确说明返回类型。 下面是一个例子:
public decimal CalculateTotalBalance()
{
return _totalCustomers * balancePerCustomer;
}
public decimal CalculateTotalBalance()
{
return _totalCustomers * balancePerCustomer;
}
Public Function CalculateTotalBalance() As Decimal
Return _totalCustomers * balancePerCustomer
End Function
在本例中,方法名称CalculateTotalBalance 具有描述性,并遵循了 Pascal Case 命名惯例。
在 C# 中,常量名称应全部为大写字母,单词之间用下划线隔开。 这使得常量从其他变量中脱颖而出。 下面是一个例子:
public const double PI = 3.14159;
public const double PI = 3.14159;
Public Const PI As Double = 3.14159
该约定适用于不同类型,确保恒定名称在代码中保持一致并易于识别。
C# 也有换行符和括号的编码约定。 在 C# 中,每个开头 brace{应与所属语句在同一行,结尾的号应与所属语句在同一行。}** 应另起一行,与相应语句对齐。 下面是一个例子:
public void AddCustomer(string customerName)
{
if (!string.IsNullOrEmpty(customerName))
{
_customerName = customerName;
}
}
public void AddCustomer(string customerName)
{
if (!string.IsNullOrEmpty(customerName))
{
_customerName = customerName;
}
}
Public Sub AddCustomer(ByVal customerName As String)
If Not String.IsNullOrEmpty(customerName) Then
_customerName = customerName
End If
End Sub
使用适当的格式使代码更容易阅读和理解。
在现代 C# 开发中,匈牙利符号,变量名前缀为数据类型(例如,strName 表示字符串,intCount 表示整数)不鼓励使用.NET、Java、Python 或 Node js。 在翻译过程中,应使用有意义的名称来描述变量的用途而非其数据类型:
public string CustomerName { get; set; }
public int OrderCount { get; set; }
public string CustomerName { get; set; }
public int OrderCount { get; set; }
Public Property CustomerName() As String
Public Property OrderCount() As Integer
这种方法可以使代码更清晰、更易于维护。
整合时IronPDF在您的 C# 项目中,遵循命名约定以保持代码的整洁和可读性至关重要。 IronPDF 可让您生成从 HTML 内容生成 PDF在您的 C# 应用程序中。 在此过程中,必须遵循类、方法和变量的命名约定,以保持一致性。 以下是在遵守这些命名约定的同时,使用 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();
}
}
Imports IronPdf
Public Class PdfReportGenerator
Private ReadOnly _htmlContent As String
Private ReadOnly _filePath As String
Public Sub New(ByVal htmlContent As String, ByVal filePath As String)
_htmlContent = htmlContent
_filePath = filePath
End Sub
Public Sub GenerateReport()
Dim pdfRenderer = New ChromePdfRenderer()
Dim pdfDocument As PdfDocument = pdfRenderer.RenderHtmlAsPdf(_htmlContent)
pdfDocument.SaveAs(_filePath)
End Sub
End Class
Public Module Program
Public Sub Main()
Dim htmlContent = "<h1>Monthly Report</h1><p>Generated using IronPDF.</p>"
Dim filePath = "C:\Reports\MonthlyReport.pdf"
Dim reportGenerator As New PdfReportGenerator(htmlContent, filePath)
reportGenerator.GenerateReport()
End Sub
End Module
坚持使用这些命名约定,您的代码就能在使用 IronPDF 生成报告时保持专业性、条理性和易读性。
通过遵循这些 C# 命名约定,您可以确保代码简洁、可读性强且易于维护。 无论是在类名中使用 Pascal Case,在局部变量中使用驼峰 Case,还是在私有字段中使用下划线前缀,这些约定都有助于建立一致的代码库。
有了 IronPdf,您可以通过一个免费试用. 试用版可让您亲身体验并了解它与您的工作流程的整合程度。 当您准备好迈出下一步时,许可证起价仅为 749 美元。