【发布时间】:2013-09-13 23:30:13
【问题描述】:
我有两个关于加快代码速度的问题,以及某些事情究竟会减慢我的程序速度。
首先,方法参数。假设我有一个程序,它有一个名为 Account 的基类,然后我创建了该类 Account 的许多实例。在该类中,它有一个名为 Example 的方法,其中包含大量方法参数。这样做很慢吗?硬编码这些东西是否更快,如果有的话?示例:
public class Example
{
public void DoSomething(string One, string Two, string Three, string Four, string Five, string Six, string Seven, string Eight, string Nine, string Ten, string Eleven)
{
// make a WebRequest using these parameters.
}
}
其次,拥有一个内部只有一个成员的类是不是很糟糕,一个基类的实例,如 Example(上图)。例如:
static class ExampleOne
{
public static Example example = new Example();
}
然后像这样使用它:
static void Main(string[] args)
{
ExampleOne.example.DoSomething(parameters);
}
感谢您的帮助!
【问题讨论】:
-
你可以传递参数的引用 - msdn.microsoft.com/en-us/library/0f66670z.aspx
-
硬编码参数的速度几乎快,当然你无法分辨出任何区别,但这是一个错误的问题。您是否需要可配置性?所有的“它很慢吗?/多少?”问题的答案相同:衡量它。类成员示例看起来很糟糕。
-
在性能方面,除非有 O(n) 与 O(1)(或类似的东西),否则主要是猜测哪个实际上更快和/或差异是如此之小以至于无关紧要.要获得实际结果,请配置代码。
-
感谢大家的回答。我想差异是如此之小,我真的不需要担心。再次感谢。
-
@NSmeef 在 C# 中对
string和string的引用完全相同,并且仅通过引用传递内容会产生额外的间接性,从而使程序变慢..
标签: c# class optimization methods parameters