小编art*_*sch的帖子

如何格式化中文字符以使它们适合列?

我试图以列为导向的方式打印一些信息.一切都适用于拉丁字符,但是当打印中文字符时,列会停止对齐.我们来看一个例子:

var latinPresentation1 = "some text".PadRight(30) + "| " + 23;
var latinPresentation2 = "some longer text".PadRight(30) + "| " + 23;

Console.WriteLine(latinPresentation1);
Console.WriteLine(latinPresentation2);

Console.WriteLine("..............................................");

var chinesePresentation1 = "????".PadRight(30) + " | " + 23;
var chinesePresentation2 = "???????".PadRight(30) + "| " + 23;

Console.WriteLine(chinesePresentation1);
Console.WriteLine(chinesePresentation2);
Run Code Online (Sandbox Code Playgroud)

输出:

some text                     | 23
some longer text              | 23
.................................................
????                           | 23
???????                       | 23
Run Code Online (Sandbox Code Playgroud)

可以看出,中国人没有与专栏保持一致.重要提示:这只是对问题的介绍; 它不会在控制台应用程序中使用.谁能帮我这个?

c# string formatting cjk

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

标签 统计

c# ×1

cjk ×1

formatting ×1

string ×1