我可以在C#中评估一个字符串吗?

时间:2016-10-06 21:44:54

标签: c# string substring

我必须填充字符串并返回它,然后才能对字符串执行子字符串。 有没有办法在填充后评估字符串并将两个语句合并为一行?

这有效

    string numberOfRecords = allRecords.Count().ToString().PadLeft(8, '0');
    numberOfRecords = numberOfRecords.Substring(numberOfRecords.Length-8,8);

但这不是

    string numberOfRecords = allRecords.Count().ToString();
    numberOfRecords = numberOfRecords.PadLeft(8, '0').Substring(numberOfRecords.Length-8,8);

1 个答案:

答案 0 :(得分:0)

PadLeft(8, '0')在C#中是不可变的。在第一种情况下,您正在执行numberOfRecords并分配给PadLeft。因此它包含更新的值(使用PadLeft)。

但在第二种情况下,您正在执行numberOfRecords,但numberOfRecords.Length的值将相同。当allRecords.Count().ToString()为原始值({{1}})并且可能抛出异常时,这将失败。