Ich weiß, dass String ein Objekt ist, im Gegensatz zu z. B. Int, und Objektvariablen zeigen im Allgemeinen auf nichts, es sei denn, Sie erstellen das Objekt. Ich weiß also, wie es funktioniert.
Aber warum initialisiert .NET in Bezug auf einfache, praktische Programmierung eine Zeichenkette nicht als leer (""), da dies sicherlich die häufigste Verwendung der String-Variable ist - als Zeichenkette, nicht als Objekt?
Ich habe nie (noch) hatte Notwendigkeit für eine Zeichenfolge zu null, das heißt "nicht eine Zeichenfolge" sein. Es scheint eine seltene Anforderung zu sein. Ich bin nicht in der Lage zu sagen, dass eine int-Variable null ist, warum also mit String? Es als Option zu haben, ist zweifellos notwendig, aber warum macht .NET sie von vornherein zu null, wenn int usw. richtige Anfangswerte erhalten?
Ich frage, weil ich nicht nur verstehen möchte, wie etwas funktioniert, sondern auch, warum, weil ich dann weniger Lust habe, darüber zu schimpfen, wie seltsam es scheint :)