2

今日は奇妙な混乱に直面しました。この投稿で C# の String と string の違いを読みましたが、C#の String と string の違いは何ですか? . しかしString、名前空間を使用せずに大文字で使用しようとするとSystem、認識されませんでした。お気に入り

このコードは機能し、

using System;

String s = "";

しかし、を使用しないSystemと、エラーが発生します。

一方string、小文字の場合は、System名前空間を使用してもしなくても機能します。

文字列と文字列が同じものである場合、一方がその名前空間でのみ機能し、もう一方が名前空間の有無にかかわらず機能するのはなぜですか。

4

5 に答える 5

4

stringは、コンパイル中にを に変換する C# 構造ですSystem.String

すべての C# プログラムの既定値は次のとおりです。

using string = System.String;
using char = System.Char;
using int = System.Int32;
using double = System.Double;

System.Stringクラスです。String名前空間にアクセスせずに型を使用することはできませんSystem(つまり、 として完全に修飾するかSystem.Stringusing System;ディレクティブを使用します)。

于 2012-10-20T10:12:49.600 に答える
1

StringのエイリアスですSystem.String。いくつかのエイリアスのリストについては、リンクした SO 回答の 728 スコアの回答を参照してください。エイリアスを使用すると、ビットが自動的に取得System.されるため、明示的に参照する必要はありません。

于 2012-10-20T10:12:04.143 に答える
1

System.String は System 名前空間のクラスです。それへの直接の文字列参照。

文字列を入力すると、System.String のすべてのメソッド (およびコンストラクタなど) にアクセスできます。

と同じことNullable<T>:あなたは書くことができます、例

int? myInt = 2;

と同じことです

Nullable<int> myInt = 2;

Alias ユーティリティのみ

于 2012-10-20T10:16:05.863 に答える