首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

避免重複造輪子——善用 BCL:以數字補零為例

     編輯:關於C語言

反面教材:手寫補零函數

private string GetExpandedOffset(long offset) {
    string result = offset.ToString();
    for (int i = 0; result.Length < 4; i++)
        result = "0" + result; // 迴圈字串串接產生大量暫時物件
    return result;
}

問題:重複造輪子、迴圈字串串接效能差、忽略框架內建格式化功能。

正確做法:善用 IFormattable

Int32、Int64 等實作 IFormattable,支援標準數值格式字串:

private string GetExpandedOffset(long offset) {
    return offset.ToString("D4"); // 一行解決:不足 4 位左補零
}

D4 表示十進位、最少 4 位、不足補零。其他常用:"X" 十六進位、"C" 貨幣、"N" 數值含分隔符。

延伸思考

  • 不熟悉 BCL 導致重複代碼是常見現象
  • 靜態分析工具難以偵測「功能不完整」的重複邏輯
  • 建議:定期瀏覽 System、System.Text、System.Linq 等核心命名空間常用類別方法

認識你的函式庫,是工程師精進的捷徑。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved