在 C# 6.0 中使用内插字符串显示 phone 数字
Display phone number using interpolated strings in C# 6.0
我想使用 C# 6.0 内插字符串方法来格式化 phone 数字。从数据库中,我得到 phone 数字作为 7 位数的值——没有特殊字符。
如何使用内插字符串生成 xxx-xxxx 格式?
只需使用自定义数字格式 000-0000
。
var phoneNumber = 5551234;
var formatted = $"{phoneNumber:000-0000}" // "555-1234"
使用可选的扩展程序,您可以这样做:
var phoneNumber = 5551234;
int? extension = 9876;
var formatted = $"{phoneNumber:000-0000}" // "555-1234"
if (extension != null)
formatted = $"{formatted} Ext. {extension}"; // "555-1234 Ext. 9876"
// or alternatively
var formatted = $"{phoneNumber:000-0000}{(extension != null ? $" Ext. {extension}" : "")}";
不幸的是,在单个表达式中包含字符串的可选部分并不是一件容易的事,但它是可行的。不过,我不建议尝试将其全部塞进去。对于 "readable".
的定义,我会选择更具可读性的方法
我想使用 C# 6.0 内插字符串方法来格式化 phone 数字。从数据库中,我得到 phone 数字作为 7 位数的值——没有特殊字符。
如何使用内插字符串生成 xxx-xxxx 格式?
只需使用自定义数字格式 000-0000
。
var phoneNumber = 5551234;
var formatted = $"{phoneNumber:000-0000}" // "555-1234"
使用可选的扩展程序,您可以这样做:
var phoneNumber = 5551234;
int? extension = 9876;
var formatted = $"{phoneNumber:000-0000}" // "555-1234"
if (extension != null)
formatted = $"{formatted} Ext. {extension}"; // "555-1234 Ext. 9876"
// or alternatively
var formatted = $"{phoneNumber:000-0000}{(extension != null ? $" Ext. {extension}" : "")}";
不幸的是,在单个表达式中包含字符串的可选部分并不是一件容易的事,但它是可行的。不过,我不建议尝试将其全部塞进去。对于 "readable".
的定义,我会选择更具可读性的方法