C#中PadLeft,PadRight的用法(乘风破浪的姐姐第三季)

网友投稿 522 2022-09-11

C#中PadLeft,PadRight的用法(乘风破浪的姐姐第三季)

C#中PadLeft,PadRight的用法(乘风破浪的姐姐第三季)

今天在遇到一个需求的时候,需要一个字符串实现自增。是根据数据库中一个自增的int类型的值,实现自增的。但是要加上前缀。比如,数据库中有一个自增的值,为,2。那么这个自增的值后面的值就位3、4、5、6、7.....100、101、102......所以我要获得 的这个字符串就要是"S0001"、"S0002"、"S0003"........"S0100"、"S0101"、"S0102"......

因为,这个"0"的数量还比较少,最一开始写的一个方法:

0的个数少,还可以这样写,如果有十个"0"或者更多的呢?这样写就不方便了。其实这个也可以用设计模式中的责任链模式来写的,不过当0的个数多了,也不好写。设计模式用来搞这个,有点浪费呀!

幸好,C#中字符串有一个方法

public String PadLeft(int totalWidth, char paddingChar);

返回值:

返回一个新字符串,该字符串通过填充右对齐此实例中的字符。它们位于左侧,具有指定的Unicode字符,具有指定的总长度。

参数:

totalWidth:结果字符串中的字符数,等于原始字符串的数目,字符加上任何其他填充字符。

paddingChar:Unicode填充字符。

所以,这个方法就可以改写成如下:

public string GetSelfIncrStr()

{

var newID = 101;

return "S" + newID.ToString().PadLeft(3, '0');

}

这样写起来就方便多了。

还有一个方法:

public String PadRight(int totalWidth);

static string GetStr()

{

var str = "100";

return str.PadRight(5, '0');

}

这个方法得到的结果是10000。

其实,这个任务,是根据数据库中的int类型自增的值,来自增这个字符串的,这个自增的字符串还是表的主键。这个表不是我设计的,个人理解,这种场景还是尽量少的有吧,因为这样的设计并不好。应该从数据库表的设计和使用场景来设计。

不过这两个方法还是蛮好用的。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:SQLServer 2008数据库查看死锁、堵塞的SQL语句
下一篇:Windows服务器:web服务:实验案例一:
相关文章

 发表评论

暂时没有评论,来抢沙发吧~