增加格式化字符串(f.e。" 07-01"到" 07-02")

时间:2017-05-10 08:51:32

标签: c# string

我有一个格式为00-00的字符串,我想将其增加到00-01。 目前我正在使用Split(),但我觉得我的方法并不是最佳实践。

我不必担心边缘情况,只想知道是否有一个优雅的解决方案。

由于

2 个答案:

答案 0 :(得分:2)

Linq方法没有00-9999-99

等边缘情况
string input ="07-01";
string result = string.Join("-", input.Split('-')
                                      .Select(int.Parse)
                                      .Select((x, i) => (i == 1 ? ++x : x).ToString("00")));

答案 1 :(得分:0)

您使用string.Split()的方法也是我的建议。

但是,我想知道你是否反复增加这个数字。如果这是一次性动作,那么我同意使用拆分方法。

如果您不断递增此数字(例如作为计数器),您将开始注意到需要更多资源来执行字符串操作(拆分)和转换(字符串转换为int,int转换为字符串);与增加整数值相比 在这种情况下,我会主张你将整数值保留在内存中,并继续使用它来生成输出字符串,而不是总是从头开始。

但是,后一个建议仅适用于增加相同值的情况。你的问题没有说明情况就是这样。