我在C#中使用winforms开发应用程序.在开发时,我想使用许多小方法,例如resetPerticularCombo(),因此代码保持尽可能干净.但问题是制作3-5行代码的方法可能会导致太多的方法调用,我听说在编译Visual Studio 2008时会使用代码内联来处理这个问题.
我的问题是,如果我依赖这个功能并继续使用小帮助方法,或者我应该使用自己内联?
我有点麻烦理解,当异步调用方法时,委托中的BeginInvoke()方法调用,在完成它的任务后为什么不能从BeginInvoke()本身返回方法的返回值,为什么我们需要EndInvoke()查询BeginInvoke()并从中返回返回值.我知道这可能不是一个好的查询,但我的困惑是真实的:-)
另外:我可以使用DelagateName.BeginInvoke(参数)异步调用一个方法,现在当委托中的匹配方法(假设它返回一个值)完成它的工作并返回一个值,为什么我需要DelegateName.EndInvoke()来获取返回值?为什么第一个调用本身不能在方法完成时返回值.
我很难理解以下程序的意外输出:
class ThreadTest
{
static void Main()
{
for(int i = 0; i < 10; i++)
new Thread(() => Console.Write(i)).Start();
}
}
Run Code Online (Sandbox Code Playgroud)
查询:运行在不同线程的不同代码有不同的堆栈?如果是,那么变量应该保留它们的值,因为 int 是值类型?