如何在 C# 中执行字符串显示限制

本文关键字:字符串 显示 执行 | 更新日期: 2023-09-27 18:36:33

今天我学到了两件事

1 - 在文本框中显示 int 为此格式:0001

Number.ToString("0000.");

2 - 在此格式中显示双精度:在文本框中 £ 03.00

Price.ToString("£ 00.00");

我的问题是:如何在 c# 中显示字符串的限制?

我的意思是字符串中的值是

string myString = "Hello World!"

我希望它显示 20 个字母,以便它显示

"Hello World!        "

如果超过 20 个字母,它将跳过显示其余字母例如:

string myString = "I Love every thing you say :*"

它只会显示以下内容:

"I Love every thing y"

最多显示 20 个字母(计算空格)。

知道吗?

如何在 C# 中执行字符串显示限制

你需要使用子字符串或 PadRight

int length = 20;
string original = "I Love every thing you say :*";
string finalString = original.Length > length ? 
                   original.Substring(0, length) : 
                   original.PadRight(length);

这将根据需要采用适当长度的子字符串或带空格的填充。

string myString = "I Love every thing you say :*"
string fixedWidth = string.Format("{0, -20}", (myString.Length > 20 ? myString.Substring(0,20) : myString));

作为字符串扩展:

public static string ToFixedWidth(this string s, int length)
{
    return string.Format("{0, -20}, s.Length > length ? s.Substring(0, length) : s);
}

我相信

String.Format("{0,-20}", "Hello World!");

会给你你需要的。

编辑:应该是逗号

编辑:没关系,这不会修剪。也许与子字符串结合使用:

String.Format("{0,-20}", "Hello World!").Substring(0,20);

您还可以添加一个包含 21 个空格的字符串,然后删除以获得正确的长度:

string formattedStr = (myString + new string(' ', 21)).Remove(20);