簡體   English   中英

在C#中動態執行代碼

[英]Executing code dynamically in C#

我想使用一個指針動態地控制代碼執行,基本上是一個沒有棧框架的函數指針。 執行不會返回到調用位置,而是返回到單個點。

TopOfLoop:
...
Jump(x)


x1:
...
continue

x2:
...
continue

etc.

在C#中這可能嗎? 謝謝。

也許通過使用goto語句?

MSDN上的參考: http : //msdn.microsoft.com/en-us/library/13940fs2.aspx

雖然,不建議使用編碼方式。 嘗試改用委托:

 Func<T,TResutl> or Action<T>

樣品:

using System;

public class LambdaExpression
{
   public static void Main()
   {
      Func<string, string> convert = s => s.ToUpper();

      string name = "RIA Guy";
      Console.WriteLine(convert(name));   
   }
}

在函數指針方面,您可能想看一下c#中的委托。 至於其余部分,這已經被其他人所涵蓋。

這看起來也像SWITCH一樣可行,並且可以避免代碼中的“ goto”(盡管它可能會以相同的方式編譯)。

您可以使用goto 我不會,但它會做您想要的。

您當然可以使用回調來調用委托,但是我不確定如何在goto之外完成“執行不返回到調用位置”部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM