2013-01-16 1 views
8

Gibt es eine Funktion wie Arduino map in C#?Wie ordne ich Zahlen in C# wie mit Karte in Arduino?

+1

Der Link, den Sie auch die Funktion Implementierung enthält zur Verfügung gestellt, ich glaube, Am einfachsten wäre es, es einfach in C# zu portieren. –

+0

Entschuldigung, ich habe nicht bemerkt, dass es eine Implementierung gab, bis Sie tatsächlich darauf hingewiesen haben. –

Antwort

10

Sie können es mit einem Extension Method (für decimal zum Beispiel):

public static class ExtensionMethods 
{ 
    public static decimal Map (this decimal value, decimal fromSource, decimal toSource, decimal fromTarget, decimal toTarget) 
    { 
     return (value - fromSource)/(toSource - fromSource) * (toTarget - fromTarget) + fromTarget; 
    } 
} 

Dann können Sie es gerne verwenden:

decimal res = 2.Map(1, 3, 0, 10); 
// res will be 5 
+0

In Ihrer letzten Codezeile ist ein Syntaxfehler (closing paren) aufgetreten. – istepaniuk

+0

Danke, jetzt behoben. –

Verwandte Themen