[英]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.