この記事の紹介:
C# の Equals、==、 ReferenceEquals を使用すると、2 つのオブジェクトの参照が等しいかどうかが判断されるため、同じ基本値タイプの場合、 == と Equals() の比較結果は同じになります。値 Type の場合、各判定の前にボックス化操作を実行する必要があるため、つまり、毎回一時オブジェクトが生成されるため、常に false が返されます。
1. == 演算子
1. 既存の != に対応するこの記号は、2 つのオブジェクトが等しいかどうかを比較するために使用できるオーバーロード可能な二項演算子です。
2. 必要に応じて必要な型変換を自動的に実行し、2 つのオブジェクトの値が等しいかどうかに応じて true または false を返します。
3. 参照オブジェクトの場合、その参照を比較します (文字列参照型を除き、文字列は比較値です)
4. 値型の場合、その値を比較します
5. 一部の組み込み参照型は = をオーバーロードします。 = 記号 (文字列など) == をオーバーロードするだけで、2 つの文字列の参照ではなく、2 つの文字列リテラルが等しいかどうかを比較します。例:
int i = 5; int j = 5; Console.WriteLine(i == j);//值类型比较代数值 输出True int m = 6; double n = 6.0; Console.WriteLine(m == n);//类型自动转换并比较数值 输出True object obj1 = new object(); object obj2 = new object(); Console.WriteLine(obj2==obj1);//引用类型比较引用 输出False
2. 2 つのオブジェクトの参照が等しいかどうかを比較するために使用されます。
2. ただし、値型の場合、型が同じ (自動型変換は実行されません)、値も同じ (構造体の各メンバーが同じである必要があります) 場合、Equals は返します。
true、それ以外の場合は false を返します。
3. 参照型の場合、デフォルトの動作は ReferenceEquals と同じです。2 つのオブジェクトが同じ Reference を指している場合にのみ True が返されます。
4. Equals は必要に応じてオーバーロードできます
5. インスタンス
3. ReferenceEquals
1. 2 つのオブジェクトの参照が等しいかどうかを比較します。それはすべて同じです。
2. このメソッドは継承されたクラスでオーバーライドできません。プロトタイプは次のとおりです。 public static bool ReferenceEquals(object objA, object objB);FCL が実装されました。リファレンスが指すメモリアドレスが同じかどうかを比較するものです。
3. 2 つの値の型の場合、ReferenceEquals(object a, object であるため、ReferenceEquals は常に false になります) b) メソッドの後、値の型は新しい参照型のインスタンスにリボックスされます。当然のことながら、参照の等価性はありません。 上記は ==、Equals、ReferenceEquals の違いです。その他の関連記事については、PHP 中国語に注目してください。ウェブサイト (www.php.cn) !

c#.netissuitableforenterprise-levelApplicationsとsystemduetoitsSystemdutyping、richlibraries、androbustperformance.

.NETでのC#のプログラミングプロセスには、次の手順が含まれます。1)C#コードの作成、2)中間言語(IL)にコンパイルし、3).NETランタイム(CLR)によって実行される。 .NETのC#の利点は、デスクトップアプリケーションからWebサービスまでのさまざまな開発シナリオに適した、最新の構文、強力なタイプシステム、および.NETフレームワークとの緊密な統合です。

C#は、Microsoftによって開発された最新のオブジェクト指向プログラミング言語であり、.NETフレームワークの一部として開発されています。 1.C#は、カプセル化、継承、多型を含むオブジェクト指向プログラミング(OOP)をサポートしています。 2。C#の非同期プログラミングは非同期を通じて実装され、適用応答性を向上させるためにキーワードを待ちます。 3. LINQを使用してデータ収集を簡潔に処理します。 4.一般的なエラーには、null参照の例外と、範囲外の例外インデックスが含まれます。デバッグスキルには、デバッガーと例外処理の使用が含まれます。 5.パフォーマンスの最適化には、StringBuilderの使用と、不必要な梱包とボクシングの回避が含まれます。

C#.NETアプリケーションのテスト戦略には、ユニットテスト、統合テスト、エンドツーエンドテストが含まれます。 1.単位テストにより、コードの最小ユニットがMSTEST、ヌニット、またはXUNITフレームワークを使用して独立して動作することを保証します。 2。統合テストでは、一般的に使用されるシミュレートされたデータと外部サービスを組み合わせた複数のユニットの機能を検証します。 3.エンドツーエンドのテストでは、ユーザーの完全な操作プロセスをシミュレートし、通常、セレンは自動テストに使用されます。

C#シニア開発者とのインタビューでは、非同期プログラミング、LINQ、.NETフレームワークの内部作業原則などのコア知識をマスターする必要があります。 1.非同期プログラミングは、非同期を通じて操作を簡素化し、アプリケーションの応答性を向上させるのを待ちます。 2.LinqはSQLスタイルでデータを操作し、パフォーマンスに注意を払います。 3.ネットフレームワークのCLRはメモリを管理し、ガベージコレクションに注意して使用する必要があります。

C#.NETインタビューの質問と回答には、基本的な知識、コアの概念、高度な使用が含まれます。 1)基本知識:C#は、Microsoftが開発したオブジェクト指向言語であり、主に.NETフレームワークで使用されています。 2)コアの概念:委任とイベントは動的な結合方法を可能にし、LINQは強力なクエリ関数を提供します。 3)高度な使用:非同期プログラミングは応答性を向上させ、式ツリーは動的コード構造に使用されます。

C#.NETは、その強力なエコシステムと豊富なサポートのため、マイクロサービスを構築するために人気のある選択肢です。 1)asp.netcoreを使用してRestfulapiを作成して、順序の作成とクエリを処理します。 2)GRPCを使用して、マイクロサービス間の効率的な通信を実現し、注文サービスを定義および実装します。 3)Dockerコンテナ化されたマイクロサービスを介して展開と管理を簡素化します。

C#および.NETのセキュリティベストプラクティスには、入力検証、出力エンコード、例外処理、認証と承認が含まれます。 1)正規表現または組み込みのメソッドを使用して入力を検証して、悪意のあるデータがシステムに入るのを防ぎます。 2)XSS攻撃を防ぐための出力エンコード、httputility.htmlencodeメソッドを使用します。 3)例外処理により、情報の漏れが回避され、エラーが記録されますが、詳細情報はユーザーに返されません。 4)ASP.Netidentityおよび請求に基づく許可を使用して、不正アクセスから申請を保護します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1
使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい
