1. ICollection インターフェイス
配列は、.net フレームワークによって定義される最も基本的なコレクション型です。配列に加えて、.net フレームワークでも多くのコレクション型が定義されます。 msdn を開くと、すべてのコレクションが System.Collections 名前空間の下にあることがわかります。
Collection クラス:
ArrayList: サイズをオンデマンドで動的に増加できる配列を使用して IList インターフェイスを実装します。
BitArray: 値を管理する圧縮配列。値はブール値として表されます。true はビットがオン (1) であることを意味し、false はビットがオフ (0) であることを意味します。
CaseInsensitiveComparer: 比較時に文字列の大文字と小文字を無視して、2 つのオブジェクトが等しいかどうかを比較します。
CollectionBase: 厳密に型指定されたコレクションの抽象基本クラスを提供します。
Comparer: 2 つのオブジェクトが等しいかどうかを比較します。文字列比較では大文字と小文字が区別されます。
DictionaryBase: 厳密に型指定されたキー/値ペアのコレクションの抽象基本クラスを提供します。
Hashtable: キーのハッシュ コードに従って編成されたキー/値ペアのコレクションを表します。
Queue: オブジェクトの先入れ先出しコレクションを表します。
ReadOnlyCollectionBase: 厳密に型指定された非ジェネリック読み取り専用コレクションの抽象基本クラスを提供します。
SortedList: キーによって並べ替えられ、キーとインデックスによってアクセスできるキーと値のペアのコレクションを表します。
スタック: 単純な後入れ先出しの非ジェネリックなオブジェクトのコレクションを表します。
インターフェイス:
ICollection: すべての非ジェネリック コレクションのサイズ、列挙子、および同期メソッドを定義します。
IComparer: 2 つのオブジェクトを比較するメソッドを公開します。
IDictionary: キーと値のペアの非普遍的なコレクションを表します。
IDictionaryEnumerator: 非汎用辞書の要素を列挙します。
IEnumerable: 非ジェネリック コレクションに対する単純な反復をサポートする列挙子を公開します。
IEnumerator: 非ジェネリック コレクションの単純な反復をサポートします。
IEqualityComparer: オブジェクトの等価比較をサポートするメソッドを定義します。
IList: インデックスによって個別にアクセスできるオブジェクトの非汎用コレクションを表します。
主に ICollection インターフェースと IEnumerable インターフェースを見てください。
ICollection:
このインターフェイスは、その実装クラスの 2 つの主な仕様を定義します:
(1) コレクション要素の数、つまり Count 属性
(2) 反復 (GetEnumerator メソッド)。
GetEnumertor メソッドは、ICollection の親インターフェイス IEumerable から継承されます。 ICollection インターフェイスは、オブジェクト型オブジェクトへの参照を格納および取得するコレクションを定義するため、さまざまな参照型オブジェクトまたは値型オブジェクトへの参照を格納および取得できます。
IEnumerable インターフェイス:
このインターフェイスは、ICollection の親インターフェイスであり、実装するクラスに反復可能な機能を提供します。 IEumerable インターフェイスには GetEnumerator メソッドが 1 つだけあり、コレクションを反復処理する列挙子を返します
2. 反復
反復 (イテレーターとも呼ばれます) は、デザイン パターンにおける反復モードであり、その意味は、集合体に順次アクセスするメソッドを提供することです。オブジェクトの内部表現を公開せずに個々の要素を作成します。コレクションの格納方法が異なるため、List は連続格納、リンク リストはオブジェクト間の参照格納を使用します。そうすると、コレクションを横断する必要がある場合に不便になり、異なるコレクションをすべて横断できるメソッドが必要になります。イテレータ。
イテレータは結合クラスを無限容量のコンテナとして扱い、ストレージ ルールは線形です。つまり、最初と最後を除くすべての要素には直接の先行要素と直接の後続要素があり、コンテナにはコンテナ内の任意のストレージ ユニットを指すことができるフラグがあります。一方向反復と双方向反復の 2 つの方法があります。
(1) 一方向反復
一方向反復は、集合の単位フラグが集合の特定の要素から開始して 1 つずつ後方にのみ移動できることを指します。 したがって、反復では 3 つの操作が定義されます。 . 現在の項目
b. 次の項目に進み、終了かどうかを判断します
c. 最初の項目に戻ります
(2) 双方向反復モード
双方向反復モードの場合、セットの単位マークが 1 つ戻ります。セット内の項目から開始して 1 つずつ進めることもできます。したがって、次の 4 つの操作があります:
a、現在の項目
b、次の項目に進むかどうかを決定します。終了です
c、前の項目に戻り、セットかどうかを判断します 開始
d、初期位置に戻ります
.net フレームワークは、IEumerable インターフェイスを使用して一方向の反復仕様を定義します。 ICollection インターフェイスは、IEumerable インターフェイスを継承します。このインターフェイスによって定義される GetEnumerator メソッドは、現在のコレクション クラス オブジェクトの反復オブジェクト、つまり IEumerable インターフェイスを実装するオブジェクトを取得できます。
IEnumerable インターフェイスを実装するクラスはすべて、foreach ループを使用して反復的に走査できます。
IEnumerator インターフェイスは、オブジェクト型のオブジェクト参照をトラバースできるイテレータを定義し、IEnumerable インターフェイスは、このイテレータ オブジェクトを取得するメソッドを定義します。
3. ジェネリック コレクション
ICollection
ICollection
ストレージ タイプが決定されているため、ICollection
IEnumerable
ICollection
上記は C# の基礎知識をまとめたものです: 基礎知識 (15) ICollection、iteration、generics 関連コンテンツの詳細については、PHP 中国語 Web サイト (www.php.cn) に注目してください。

C#.NETは、複数のアプリケーション開発をサポートする強力なツールとライブラリを提供するため、依然として重要です。 1)C#は.NETフレームワークを組み合わせて、開発を効率的かつ便利にします。 2)C#のタイプの安全性とゴミ収集メカニズムは、その利点を高めます。 3).NETは、クロスプラットフォームの実行環境とリッチAPIを提供し、開発の柔軟性を向上させます。

c#.netisversatileforbothwebanddesktopdevelopment.1)forweb、useasp.netfordynamicapplications.2)fordesktop、equindowsorwpfforrichinterfaces.3)usexamarinforcross-platformdeveliment、enabling deshacrosswindows、

C#と.NETは、継続的な更新と最適化を通じて、新しいテクノロジーのニーズに適応します。 1)C#9.0および.NET5は、レコードタイプとパフォーマンスの最適化を導入します。 2).Netcoreは、クラウドネイティブおよびコンテナ化されたサポートを強化します。 3)ASP.Netcoreは、最新のWebテクノロジーと統合されています。 4)ML.NETは、機械学習と人工知能をサポートしています。 5)非同期プログラミングとベストプラクティスはパフォーマンスを改善します。

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はメモリを管理し、ガベージコレクションに注意して使用する必要があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Dreamweaver Mac版
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

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