c#leftpad或righpad实现特定格式
我使用的是unity,但问题更多的是c 我的同事(设计师)给了我一个文本框(或类似的东西)。c#leftpad或righpad实现特定格式,c#,unity3d,C#,Unity3d,我使用的是unity,但问题更多的是c 我的同事(设计师)给了我一个文本框(或类似的东西)。 假设框1是标题,框2是他给我的(我需要返回字符串的那个) 因此,我创建了一个函数,用于从数据库中返回框2内容的字符串。 我已成功创建了某种字符串,如下所示: 08/12/2020 Tom Sarah Holden Jimmy 但我正在努力创建首选格式,即 08/12/2020 Tom Sarah Holden
假设框1是标题,框2是他给我的(我需要返回字符串的那个) 因此,我创建了一个函数,用于从数据库中返回框2内容的字符串。
我已成功创建了某种字符串,如下所示:
08/12/2020
Tom
Sarah
Holden
Jimmy
但我正在努力创建首选格式,即
08/12/2020 Tom
Sarah
Holden
Jimmy
我试着使用rightpad,比如dateVal.PadRight(20,”代码>
但是如果没有日期,我怎么能把它应用到下一行呢
我也应该使用leftpad吗
编辑:我是Unity的新手~~~您好,请尝试下面的函数,这是假设源值是一个以换行符作为delimeter的字符串
public static string FormatSource(string source)
{
var sb = new StringBuilder();
var values = source.Split(Environment.NewLine);
DateTime dateValue;
int padCount = 0;
foreach(var value in values)
{
if(DateTime.TryParseExact(value,"mm/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None, out dateValue))
{
padCount = 10;
sb.Append(value);
}
else
{
sb.Append(value.PadLeft(padCount) + Environment.NewLine);
padCount = 20;
}
}
return sb.ToString();
}
哦,天哪。。我忘了这个问题。顺便说一句,我使用了@CodeCaster提到的方法
使用两个相邻对齐的文本框,在其中一个框中打印日期,然后
另一个世界的名字
然后把它放在一个滚动的矩形中。这是一种单间距字体吗?因为如果不是的话,祝你好运用空格来勾勒这一点。为什么你的同事决定采用这种方法?为什么他们不循环记录并打印相应的字符串呢?你不能把它放在4个单独的文本字段中吗?@CodeCaster那我就倒霉了。它应该是培训师培训不同日期学生的界面。1天4个学生,另一天可以5@derHugo我也想用这个想法,但约会不止一次。这就像一对多的关系。一次与许多学生的约会。所有这些都在一个界面中。我们创建一个盒子的预制体,其中有一个数据字段和一个学生字段。。然后根据日期生成尽可能多的框,并用相应的数据填充这两个字段。。。你甚至可以更进一步,为学生的场地设置一个预制场,然后根据需要动态生成尽可能多的预制场,并动态缩放长方体。。。