日期:2014-05-18  浏览次数:20984 次

c#怎么写一个独立的函数?不是类的成员函数。
我想创建一个新的cs文件,里面写一个函数,这个函数可以被多个cs文件调用的。

但是,只要我创建新的cs文件,VS就自动帮我生成了类。而且不能在类的外面写函数。

怎么办?



------解决方案--------------------
C#的静态方法会暴内存?

C++一个工程你搞10万个静态函数也不会爆内存的,空间开销和10万个类成员函数一样的

从内部实现角度,成员函数也好静态成员函数也好,都只会存在一份,而且函数逻辑的实现方式没什么区别,普通成员函数只不过多一个this指针来标识属于哪个类实例而已

这个概念套在C#上应该也可以
------解决方案--------------------
探讨
我刚刚也找到了这个方法。
但听说这个方法,当有很多静态方法的时候,过于占用内存。



引用:

你可以用静态方法,就不用实例化

------解决方案--------------------
静态方法和实例方法在内存中的“待遇”是一样的。都是要随着它们的程序集预加载到内存中。
所以不存在静态方法“耗内存”的问题。
------解决方案--------------------
耗内存的其实是静态的字段。因为它始终要占用固定的内存,一直也不会被GC给回收掉。
如果你的静态方法用了很多静态的数据字段。从感觉上来说,它确实比实例方法更耗内存。因为它与进程同在。