我想知道在 C# 中是否有更面向对象的方式来创建空格。
字面意思是空间代码!
我目前有 tabs += new String("");
我不禁觉得这有点让人想起使用 ""
而不是 String.Empty
.
我可以使用什么来创建不是 ""
的空间?
最佳答案
你可以写
" "
代替
new String(' ')
这有帮助吗?
根据您的工作,您可能需要查看 StringBuilder.Append接受字符和“重复”计数的重载:
var tabs = new StringBuilder();
tabs.Append(' ', 8);
或进入字符串
constructor从一个“重复”计数的字符构造一个字符串:
var tabs = new string(' ', 8);
这是一个企业级的 OO 解决方案,可以满足您所有的空间生成需求:
public abstract class SpaceFactory
{
public static readonly SpaceFactory Space = new SpaceFactoryImpl();
public static readonly SpaceFactory ZeroWidth = new ZeroWidthFactoryImpl();
protected SpaceFactory { }
public abstract char GetSpace();
public virtual string GetSpaces(int count)
{
return new string(this.GetSpace(), count);
}
private class SpaceFactoryImpl : SpaceFactory
{
public override char GetSpace()
{
return '\u0020';
}
}
private class ZeroWidthFactoryImpl : SpaceFactory
{
public override char GetSpace()
{
return '\u200B';
}
}
}
关于c# - 用于创建包含多个空白字符的字符串的 ""的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1716230/