其实这肯定需要依赖于某个已经做好的类库,这里我想介绍的是EF(Entity Framework)里使用的那个。
首先,你需要引用System.Data.Entity.Design.dll,它应该就在GAC里。
引用之后,在代码里首先 using System.Data.Entity.Design这个命名空间,然后使用其中的 PluralizationService类:
PluralizationService service = PluralizationService.CreateService(CultureInfo.GetCultureInfo("en-us"));
有了这个实例,就可以利用它的2个IsXXXX方法判断一个单词是单数还是复数,以及另外2个方法把单数、复数互相转换。
需要特别说明的是,这个类似乎并不要求传入的字符串是一个真正的单词,那种利用驼峰写法把2个单词作为一个整体传入之后,它依然可以正确的把最后一个单词进行转换。