如何为C#字符串添加删除线?旧价格标注场景实现
C# 给旧价格字符串添加删除线实现方案
要给C#里的旧价格字符串加上删除线效果,直接用Unicode的删除线组合字符(U+0336)就能搞定——给旧价格的每个字符后面追加这个字符,就能让字符显示出删除线。
实现代码
先写一个工具方法,专门给字符串添加删除线:
public static string AddStrikethrough(string input) { if (string.IsNullOrEmpty(input)) return input; // 遍历每个字符,拼接上U+0336删除线组合字符 return string.Concat(input.Select(c => c + "\u0336")); }
用法示例
把旧价格和新价格拼接起来:
string oldPrice = "4.99"; string newPrice = "2.99"; string finalPriceText = $"{AddStrikethrough(oldPrice)} {newPrice}"; // 最终得到的字符串就是:"4̶.̶9̶9̶ 2.99"
说明
U+0336是Unicode的组合删除线字符,它不会单独显示,而是会叠加在前面的字符上形成删除线效果。大部分现代文本渲染环境(比如.NET的UI控件、控制台、网页等)都支持这个字符的渲染。
内容的提问来源于stack exchange,提问作者c.lamont.dev
相关产品推荐
相关产品推荐

