Die usingRichtlinie ermöglicht uns den Zugriff auf Typen ohne Verwendung ihrer vollqualifizierten Namen:
using MyNamespace.Foo.Bar;
Die usingAnweisung fungiert als syntaktischer Zucker für try/ finallyBlöcke, die sicherstellen, dass Objekte ordnungsgemäß entsorgt werden:
using(var x = new MyDisposableClass()) { ... }
Diese beiden Situationen scheinen nichts miteinander zu tun zu haben. Warum verwenden sie dasselbe Schlüsselwort?
Ich bezweifle, dass irgendjemand jemals die beiden Fälle verwechseln würde, aber es scheint seltsam, kein neues Wort für eine neue Funktionalität zu erstellen.
Nebenbei habe ich auch über die doppelte Verwendung von classin C ++ gelesen (eine zum Deklarieren von Klassen, eine zum Definieren von Vorlagenparametern), aber der zweite Fall hat schließlich ein eigenes Schlüsselwort erhalten typename, was für mich sinnvoller ist.