Stringはプリミティブ型ですか?
2023-11-13 18:52:27
質問
文字列型とプリミティブ型について知りたいのですが。以下のような記事 この のような記事では、文字列はプリミティブ型であると書かれています。しかし 第二条 にはプリミティブ型として文字列は挙げられていません。
しかし、2番目の記事で提供されているコードを実行すると、次のように表示されます。 String is not Primitive type(文字列はプリミティブ型ではありません。 .
誰かこのことについて私を導くことができますか?
どのように解決するのですか?
どちらの記事でも、文字列は ではない であり、プリミティブな型であると述べています。それはそうではありません。
2番目の記事にあるサンプルコードをコンパイルして実行すると、次のように表示されます。
stringはプリミティブ型ではありません。
新しい文字列を作成する構文が、値型を作成するのと似ていることが混乱の元になっていると思います。
値型を定義するとき、これらはすべて同じです (とにかく 32 ビットシステムで)。
System.Int32 a = new System.Int32(5);
System.Int32 a = 5;
int a = 5;
参照型の文字列を作成するときは、これらと同じように
System.String s = new System.String(new char[]{'h', 'e', 'l', 'l', 'o'});
System.String s = "hello";
string s = "hello";
また、文字列が参照型であっても、値で比較することができます。
s == "hello";//true
これでもまだstringはプリミティブ型ではありません。
これに対する回答として認められているのは 質問 は、その詳細を教えてくれるはずです。
関連
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] enumを列挙するには
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 複数行の長い文字列を作成するためのPythonicな方法
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】大文字・小文字を区別しない「Contains(string)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】クロススレッド操作が有効でない。作成されたスレッド以外のスレッドからアクセスされたコントロール
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】HRESULTからの例外:0x800A03ECエラー
-
[解決済み】値をNULLにすることはできません。パラメータ名:source
-
[解決済み】別のスレッドがこのオブジェクトを所有しているため、呼び出し側のスレッドはこのオブジェクトにアクセスできない
-
[解決済み] C#では、なぜStringは値型のように動作する参照型なのですか?