c# 函数 调用效率问题
发布网友
发布时间:2022-04-25 05:33
我来回答
共4个回答
热心网友
时间:2023-10-30 11:29
严格地来讲,直接调用b1的效率高,因为少了串联调用的压栈、弹栈操作。
但通常无法感觉出来两者的差别。因为目前计算机的运算速度已经达到了非常快的地步,加上Windows程序相对DOS时代可以说是非常臃肿,相比而言压栈、弹栈这种操作所引起的时间占用简单不值一提。
不过有没有差别还要看你程序是做什么用的。比如a.a1如果是用一些迭代算法做数*算,需要持续重复调用的话,调用b3和调用b1的差别就出来了。另外还要看执行一遍a1的时间。如果执行一遍a1需要的时间是毫秒级的,b3和b1差不多,如果执行一遍a1的时间是纳秒级的,b3和b1肯定可以感知有差别。
热心网友
时间:2023-10-30 11:30
你是哪里的小朋友,这个怎么能从物理上的距离来衡量代码的效率呢,方法在调用的时候,不管你将它放在类的第一个,还是一千,一万个以后,它们的速度都是一样的,完全没有可比性啊,如果你真的想要验证我说的话,可以调用一个时间方法
Stopwatch watch = new Stopwatch();
watch.Start();
watch.Stop();
Console.WriteLine(watch.Elapsed);
这个方法很有用的,很多地方都可以自己验证了,不用再被骗了啊、、、、追问它放在类的第一个,还是一千,一万个以后
不知道是不是你理解错了还是我不理解你的意思
我的意思是调用b3 而b3里执行b2,b2里执行b1 b1在执行a
这种情况 b3 跟直接b1的效率对比
热心网友
时间:2023-10-30 11:30
自己做个循环跑1亿次,再加个表。压力测试。
热心网友
时间:2023-10-30 11:31
当然b1高 你没发现b3绕了一大圈么 这问题完全没意义啊 亲追问在同一个类里这样的调用真会影响效率么?
因为我记得以前看微软的sqlhelper还是哪个了
微软封装的也提供了很多简化操作的方法提供使用
追答完全可以忽略的 亲
c# 在一个类中调用窗体类中函数(循环次数较多)时,为什么要用很长时间...
窗体类中的函数会占用cpu时间、然后你有调用了很多次,当然这个函数会消耗很多时间。假如你调用的窗口类中的函数能够迅速返回,你的函数就可以比较快的执行了。
C#类中函数调用的问题。
类和函数都定义为public 然后在button的click事件里面直接调用就可以了,例如:我编写了一个MyDB.cs类文件,内容如下 using MySql.Data.MySqlClient;namespace H3Bjjh { public class MyDB { public static MySqlConnection CreateConnection(){ var con = new MySqlConnection("server=localhost;uid=roo...
C# 调用不到类里面的函数?是调用方法有问题还是类里面函数有问题?但...
如果方法不是用private(私有的)修饰的是能够调用的。如果你是同图片那样直接通过类名点出方法来的话是只能调用到静态方法(也就是static修饰的方法)的。没用static修饰的方法要通过类的实例才能点出来。如:MY.INIrw inirw=new MY.INIrw();Inirw.方法名称;望采纳 ...
C# 调用不到类里面的函数?是调用方法有问题还是类里面函数有问题?但...
把static 都去掉, 然后调用的使用这样 INIrw inirw = new INIrw("参数");inirw.IniWriteValue("Section","Key", "Value");这样就能用了
请教C#回调函数的调用问题
回调就是一个委托的特殊形式,如果说委托着重于说明“代理”调用的话,而回调则是着重说明成员方法的参数化(指针特性)。很多个认为一个完整的委托是要有委托(delegate声明)和代理的方法(真正执行的方法),然后要求其形式完全一致,但是,由于C#语法糖的存在,我们还种一种特殊形式的委托——匿名委托...
C#为什么不允许函数调用的结束?
这种问题需要贴出代码才能给你提供更准确的解答。猜测可能的原因是,有的end匹配不正确,导致与function匹配,也就是结束了函数,但后面有语句不属于任何一个函数(就你的例子而言,是第59行,换言之,第58行可能有end结束了前面的一个函数)。举个简单的例子:function testdisp(1);enddisp(2);其中...
关于C#函数ApplicationDoEvents()
当然,如果pivotGridControl1控件是被主线程调用的,还需跨线程调用pivotGridControl1,用begininvoke方法实现。3 DoEvents在效率有上的问题,处理同样的一个事件调用了DoEvents后效率降低了好几倍,这也是为什么要慎用的原因。如:private void button1_Click(object sender, EventArgs e){ expendTime.start...
C#高手进,关于多线程调用结果永远为零的问题。如正确事后附加200分...
{ public double[] values;public int m;public void threadProc(Object param){ int _p = (Int32)param;for (int i = _p * m; i < (_p + 1) * m; i++){ values[i] = 1;} } public static void Main(string[] args){ ClassThreadTest inst = new ClassThreadTest();int p...
为什么说递归效率低?
这主要是算法本身的效率问题,而不是递归的问题。这一点是必须应该明确的。(3)我们可以看到,在和树有关的算法中,经常会有递归函数。例如,遍历文件夹,删除注册表的某一个 key (及其所有子key)。尤其对一般树的前序,后序遍历,二叉树的中序遍历。这主要原因是因为树的定义,就是“递归性”...
C#中main函数可以被调用多次吗?
main函数是可以被调用的,并且不仅可以被自身调用,而且还能被其他函数调用。但是这样做非常不安全!因此不推荐这么做。如果希望代码循环进行,请使用安全的循环语句。尝试调用main函数 main函数是在程序开始执行时,被系统唯一调用,且被系统调用仅一次的函数,当程序开始执行时,系统便不再关心也无法区别mian...