Schlagwort-Archive: .NET

DotNetFiddle mit Unterstützung für F#, ASP.NET MVC und NuGet Packages.

Guten Abend,

leider konnte ich auf der Webseite DotNetFiddle.net keine Release-Notes finden.
Allerdings wurde irgendwann zwischen Januar und jetzt der Funktionsumfang dieses Tools für „.NET im Browser“ nochmal deutlich aufgebohrt.
Man kann nun als Sprache F# zusätzlich zu den bisherigen C# und VB.NET nutzen, NuGet Packages,wie man aus Visual Studio Projekten kennt, einbinden und auch Fiddles für ASP.NET MVC erstellen.

dotnetfiddle_newfeatures_20140317

Bild: Screenshots von DotNetFiddle.net

C#: Lookup vs. Dictionary

Lookup (Namespace: System.Linq)

A Lookup is a collection which implements the ILookup Interface. It was introduces with LINQ and can be used instead of Dictionary.

A key don’t has to be unique, so you can have multiple entries with the same key. Also the Lookup is immutable, that means you can not add values on the fly, like you could with a List or Dictionary. You can however determine its count (.Count) and you can access the items with [value].

When you look up a key that does not exist in the Lookup, you don’t get a KeyNotFound-Exception but an empty sequence instead.

You cannot directly instantiate a Lookup, it is a result of a LINQ-Selection, which needs a Func for Key-Selection and a Func for Value selection.

Here is an example:

Dictionary (Namespace: System.Collections.Generic)

A key has to be unique, so you can have only one multiple entry with the same key. The Dictionary is mutable, that means you can add values on the fly. Also you can use normal collection methods to determine its count (.Count) and to access the items with [value].

When you look up a key that does not exist you get a KeyNotFound-Exception.
You can directly instantiate a Dictionary.

Here is an example:

Blogpost Original Date: 16.02.2010, Updated: 13.12.2013

C#-Code dynamisch kompilieren mit CodeDom – Ein Beispiel

Guten Nachmittag,
die Aufgabenstellung war in diesem Fall so simpel wie kompliziert. Eine Formel die als String vorlag, sollte evaluiert werden. Nach einiger Suche stieß ich dann auf eine Lösung mit JScript und VSA. Für die Lösung mussten zunächst das Assembly Microsoft.JScript im Projekt referenziert werden und über using Microsoft.JScript eingebunden werden.

Der Code für die Funktion sah dann so aus:

so weit so gut. Ich möchte hier aber noch eine zweite Variante anführen, die etwas moderner ist und auf dem CodeDom von DotNet basiert. Hierfür müssen auch keine extra Assemblies referenziert werden.
Zunächst benötigt man eine Methode, die eine Klasse dynamisch erzeugt.

Im Anschluss muss die Klasse nur noch angesprochen, und mittels Reflection die Methode aufgerufen werden.

Das war nur ein Beispiel für das erzeugen einer dynamischen Klasse. Dieses vorgehen lässt sich aber sicher noch für eine Vielzahl weiterer Fälle verwenden.

Haltet mich mal auf dem Laufenden, was Ihr damit so anstellt !
Sascha Baumann