相关疑难解决方法(0)

有没有更简单的方法来格式化C#中具有确切长度的字符串?

我需要将字符串格式化为x个字符,但我格式化的值可以是任意长度.

"" => "          "
"New York" => "New York  "
"New York City" => "New York C"
Run Code Online (Sandbox Code Playgroud)

目前,我这样做:

$"{(address.City.Substring(0, address.City.Length > 20 ? 20 : address.City.Length)),20}"
Run Code Online (Sandbox Code Playgroud)

我这样做变得相当繁琐且容易出错:

var builder = new StringBuilder();
builder.AppendLine($"{(address.Street1.Substring(0, address.Street1.Length > 30 ? 30 : address.Street1.Length)),30}");
builder.AppendLine($"{(address.Street2.Substring(0, address.Street2.Length > 30 ? 30 : address.Street2.Length)),30}");
builder.AppendLine($"{(address.City.Substring(0, address.City.Length > 20 ? 20 : address.City.Length)),20}");
builder.AppendLine($"{(address.State.Substring(0, address.State.Length > 5 ? 5 : address.State.Length)),5}");
builder.AppendLine($"{(address.Zip.Substring(0, address.Zip.Length > 10 ? 10 : address.Zip.Length)),10}");
var result = builder.ToString();
Run Code Online (Sandbox Code Playgroud)

而且我还需要做大约30件其他事情.如果有这样的事情,那将是非常好的:

address.City.SubstringExact(0, 20)
Run Code Online (Sandbox Code Playgroud)

c#

1
推荐指数
1
解决办法
99
查看次数

标签 统计

c# ×1