[小菜一碟] C# 中的奇門遁甲 - 隱含轉換(implicit)

  • 1241
  • 0
  • C#
  • 2019-04-28

在 C# 中常常因為需要配合參數而動態地產生相對應的 SQL 查詢條件字串,StringBuilder 應該是公認能兼顧字串串接效能的解法,不過加號(+)還真是好用啊!相較於使用 StringBuilder,用加號來串接字串簡單又直接,因此我利用隱含轉換(implicit)來搞一個用加號串接字串,但背後其實是 StringBuilder 的解法。

在 C# 中寫 SQL 語法,我一直以來的習慣是讓整個語法的字串靠左對齊,一是為了維持 SQL 語法的整潔,二是避免多傳送不必要的空白字元,原本使用 StringBuilder 時,@" 被程式碼格式化工具當成過長的參數而折行。

這種感覺就像鞋底跑進小石子,礙虐礙虐,所以我弄了一個 SqlBuilder,裡面寫好加號的隱含轉換程式,讓我可以用加號來串接組合 SQL 查詢語法。

原先使用 StringBuilder 的寫法,在隱含轉換施展之後變這個樣子:

相關資源

C# 指南
ASP.NET 教學
ASP.NET MVC 指引
Azure SQL Database 教學
SQL Server 教學
Xamarin.Forms 教學