c#:"System.Object "と "object "の違いについて
2023-09-29 18:42:05
質問内容
C#の場合、(1)と(2)の間に違いはありますか?
System.Object
を使うのと、単に
object
よりも、あるいは
System.String
よりも
string
などとするのでしょうか?それとも単なるスタイルの問題なのでしょうか?
ある形式が他の形式より好ましいという理由はありますか?
どのように解決するのですか?
string
のエイリアスです。
global::System.String
. これは単に構文上の糖分です。この二つは
はまさに
であり、コンパイルされたコードには何の違いもありません。
個人的には、変数名などにはエイリアスを使用しますが、API内の名前などにはCLR型名を使用します。
public int ReadInt32() // Good, language-neutral
public int ReadInt() // Bad, assumes C# meaning of "int"
(戻り値の型は実際には名前ではないことに注意してください - メタデータでは型としてエンコードされているので、そこで混乱することはありません)。
一方が使用可能で他方が使用不可能な場所は (私が知っている限り)
-
nameof
エイリアスの使用禁止 - enum の基底となる型を指定する場合。 のみ を使用することができます。
関連
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] 複数の例外を一度にキャッチする?
-
[解決済み] IDisposable インターフェースの正しい使用法
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] IEnumerable<T> と IQueryable<T> を比較する。
-
[解決済み] キーワード「ref」と「out」の違いは何ですか?
-
[解決済み] "std::endl" vs "\n"
-
[解決済み】大文字・小文字を区別しない「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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】パディングが無効で、削除できない?
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】「...は'型'であり、与えられたコンテキストでは有効ではありません」を解決するにはどうすればよいですか?(C#)
-
[解決済み】Unityでゲームオブジェクトのすべての子をループスルーして破壊する方法?
-
[解決済み】「namespace」なのに「type」のように使われる。