previous arrowprevious arrow
next arrownext arrow
PlayPause
ArrowArrow
Shadow

Wir realisieren Ihre CAD-Projekte

im AutoCAD, Inventor, Revit und Autodesk Forge Platform

Umfeld
Wir helfen Ihnen bei der Realisierung Ihrer Projekte.

Blog.CAD-Becker.de

Beiträge zu AutoCAD und dessen Vertikalprodukte.

Tipps und Tricks, viele Neuigkeiten aus der Autodesk Welt.
1 Minuten Lesezeit (293 Worte)

Visual Lisp to C# - Arbeiten mit Listen -

Anzeige

Aktuelle Top-Angebote der Telekom, Online-Vorteile, Attraktive Prämien

​Eine der Vorzüge von Lisp ist die Vorteil der Listenverarbeitung. So sagt man.

Das stimmt aber nicht. Die .Net-Programmiersprachen besitzen viele Arten von Listen, auch solche die ähnlich wie die Lisp-Anweisung assoc funktionieren.

Betrachten wir folgende Lisp Anweisung, die eine Liste zusammen setzt. Ich beabsichtige die Elemente der Liste mit der Lisp-Funktion ASSOC zu ermitteln.

Um das Format (hier "json") heraus zu lesen, nutzen wir (cdr (assoc "format" m_Headers)).

Im .Net-Framework existiert im Namespace System.Collections.Generic ein Dictionary. Dieses Dictionary ist im Grunde eine Auflistung von Objekten. Dieses Dictionary kann ähnlich genutzt werden wie eine Lisp-Liste mit ASSOC.

Zunächst wird ein Instanz des Dictionary erstellt. Was zunächst eigenartig erscheint sind die Angaben in der spitzen eckigen Klammer (hier: <string, string>).

Diese deklarieren den Key - erster Eintrag - und den Wert - zweiter Eintrag - (hier beide als string deklariert). das muss nicht immer so sein. Wenn wir z.B. DXF-Codes benutzen müssen, dann wäre folgende Deklaration vielleicht sinnvoll: <int, object>.

Um in C# oder VB.Net Elemente dem Dictionary hinzuzufügen, wird die Methode Add des Dictionary genutzt. Man beachte dabei aber die Deklaration für den Key und den Wert.

Ausgelesen wird der Wert mit Instanzname und Index (hier m_Headers["format"]).​

 

Visual Lisp  

(setq m_Headers (list (cons "format" "json") (cons "Accept", "application/vnd.api+json")))

;;; Auslesen
(setq m_Format (cdr (assoc "format" m_Headers))) 

C#

System.Collections.Generic.Dictionary<string, string> m_Headers =  
            new System.Collections.Generic.Dictionary<string, string>();
m_Headers.Add("Authorization", "Bearer " + await m_AccessToken.GetToken());
m_Headers.Add("format", "json");
m_Headers.Add("Accept", "application/vnd.api+json");

//Auslesen des Formats
string m_Format = m_Headers["format"]; 

Zusätzliche Information

  • Benötigen Sie Hilfe, dann helfe ich gerne. Sagen Sie einfach Bescheid. Meine Kontakte finden Sie über den Menüpunkt "Über uns".
Generative Design mit Fusion 360 bei Claudius Pete...
AutoCAD-Fehlerbericht - Ein Screencast -

Ähnliche Beiträge

 

Über mich

  Dipl.-Ing.
Jürgen A. Becker
Versorgungstechnik

 

Suchen

Kalender

Warte kurz, während wir den Kalender laden

Kontakt

Jürgen A. Becker

CAD-Becker.de
Detmolder Str. 786
33699 Bielefeld
Germany
Telefon
+49 (5202) 9953808 
Mobil
+49 170 870 8679
E-Mail
Juergen.Becker(at)CAD-Becker.de