-2
static void Main(string[] args)
{
string s = new string("abc");
string s2 = "abc";
}
このプログラムは最初の行にコンパイルエラーがあります。文字列リテラルは文字列コンストラクタで受け付けられませんが、2行目でOKがコンパイルされます。C#:なぜ文字列をパラメータとして文字列リテラルで構築できないのですか?
1行目と2行目の違いは何ですか?それらは両方ともコンストラクタであり、1行目にコンパイルエラーがあるのはなぜですか?
を、一致するコンストラクタがありませんus/library/system.string.aspx ''私は彼らが両方のコンストラクタだと思います。 ' - いいえ、最初の行だけがコンストラクタを使用しています。 2行目は単純に値を代入します。 – David
あなたは明らかに質問をする前に文書を読んだので、一致するコンストラクタがないことがわかりました...回答として正確に何を探しているのかを明確にしてください。なぜそれがそのようにしたかという歴史的な情報?他に何か? –