日期:2014-05-20  浏览次数:20652 次

【求助】关于自定义方法使用静态模式的疑问?
我将我经常用到的一些方法(函数)写成.cs文件,给其他程序调用,为了使用时候方便(省去实例化的过程),将方法定义成静态方法,如下,不知道对程序和服务器的性能有无影响,请大家帮忙。如果有影响我还是老实一点写上实例化的语句,毕竟只有短短几句。谢谢!

                public   static   string   StringRightSplit(string   strings,   string   Separ)
                {
                        int   s_count   =   CountStr(strings,Separ);
                        if   (s_count   >   0)
                        {
                                return   splitstr(strings,   Separ)[s_count];
                        }
                        else
                        {
                                return   strings;
                        }
                       
                       
                }

------解决方案--------------------
这类情况(非业务逻辑)确实应该使用静态方法

不但对性能没什么大影响,而且我认为性能可能比非静态方法更高,特别是频繁使用时,它在程序加载时即已经加载入内存,无须在实例化时重复分配内存
------解决方案--------------------
本来就该用静态方法,这样的类称为“静态例程类”,非静态的优势在于继承,在于可以使用实例字段,在这里其实没什么继承不继承的,也一般没什么实例字段用,所以用静态是对的,而且性能会更好,在一些情况下差别可以达到5-10倍(亲自测试过)。