Es gibt keine direkte Entsprechung von sscanf
in .NET Framework.
Der einfachste Weg, die gleiche Funktionalität zu erreichen, besteht darin, die Zeichenfolge zu teilen (String.Split
) und dann die nachfolgenden Teile den Variablen mit der Int32.Parse
-Methode zuzuweisen. Zum Beispiel:
string myString = "10, 12";
string[] stringValues = myString.Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries);
int a = Int32.Parse(stringValues[0]);
int b = Int32.Parse(stringValues[1]);
Viele verschiedene Datentypen im Framework Parse
Methoden, einschließlich Aufzählungen, wenn die Werte, die Sie aus der Zeichenfolge lesen möchten, nicht notwendigerweise ganzzahlige Werte sind.
Sie könnten auch regular expressions verwenden, aber sie sind wahrscheinlich ein bisschen übertrieben für eine so einfache Aufgabe.
EDIT: Wenn Sie sich mit sscanf
wirklich deadset sind, könnten Sie immer P betrachten/die Funktion aus der C-Laufzeitbibliotheken aufrufen. So etwas wie diese vielleicht (ungetestet):
[DllImport("msvcrt.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.Cdecl)]
public static extern int sscanf(string buffer, string format, ref int arg0, ref int arg1);
Und einige Leute bei Microsoft denken 'C#' ist besser als '' C++ ... ** '(~. ~)' ** –