-
C#のListとIListの違いは何ですか?
C#のListとIListの主な違いは、Listはインデックスでアクセスできるオブジェクトのリストを表すクラスであるのに対し、IListはインデックスでアクセスできるオブジェクトのコレクションを表すインターフェイスであるということです。 IListインターフェイスは2つのインターフェイスから実装され、ICollectionとIEnumerableです。 ListとIListは、オブジェクトのセットを示すために使用されます。整数、文字列などのオブジェクトを格納できます。リストまたはIListの要素を挿入、削除、検索、および並べ替えるメソッドがあります。 ListとIListの主な違いは、Lis
-
C#のオプションパラメータとは何ですか?
デフォルトでは、メソッドのすべてのパラメーターが必須です。オプションのパラメーターを含むメソッドは、呼び出し時に引数を渡すことを強制しません。これは、引数を渡さずにメソッドを呼び出すことを意味します。 オプションのパラメーターには、関数定義のデフォルト値が含まれています。呼び出し時にオプションの引数値を渡さない場合は、デフォルト値が使用されます。 セラは、パラメータをオプションにするさまざまな方法です。 デフォルト値の使用 例 using System; namespace DemoApplication{ class Demo{ &n
-
C#で非推奨のメソッドを作成するにはどうすればよいですか?
廃止された属性 クラス、メソッド、プロパティ、フィールド、デリゲート、およびコード内の他の多くの要素を非推奨または廃止としてマークします。この属性はコンパイル時に読み取られ、開発者に警告またはエラーを生成するために使用されます。 この属性は、プログラマーが新しいバージョンのメソッドを使用することを確認したい場合に役立ちます。また、古い方法から新しい方法に移行するときにも簡単になります。アイテムを廃止としてマークすると、プログラム要素がコードベースの将来のバージョンで削除されることをユーザーに警告します。 この属性はシステム名前空間にあります 。 Obsolete属性は、その上に角かっこで囲ま
-
C#のForeachとParallel.Foreachの違いは何ですか?
C#のForeachループは単一のスレッドで実行され、処理は1つずつ順番に行われます。一方、C#のParallel.Foreachループは複数のスレッドで実行され、処理は並列に行われます。つまり、前のアイテムが完了するのを待たずに、すべてのアイテムを一度にループします。 Parallel.Foreachの実行は、通常のForEachよりも高速です。 Parallel.ForEachループを使用するには、System.Threading.Tasks名前空間をインポートする必要があります。 例 using System; using System.Collections.Generic; usi
-
C#の名前付きパラメーターとは何ですか?
名前付きパラメーターを使用すると、呼び出されたメソッドのパラメーターリストでパラメーターの順序を覚えたり調べたりすることができます。各引数のパラメーターは、パラメーター名で指定できます。 NamedParameterFunction(firstName: "Hello", lastName: "World") C#で名前付きパラメーターを使用すると、名前が存在する限り、任意のパラメーターを任意の順序で配置できます。名前に基づく適切なパラメーター値は、適切な変数にマップされます。パラメーター名は、メソッド定義のパラメーター名と一致する必要があります。名前
-
C#の辞書に保存されている値を更新するにはどうすればよいですか?
C#では、ディクショナリはキーと値のペアを格納するために一般的に使用される汎用コレクションです。辞書では、キーをnullにすることはできませんが、値をnullにすることはできます。キーは一意である必要があります。重複キーを使用しようとすると、コンパイラが例外をスローする場合、重複キーは許可されません。 上記のように、辞書の値はそのキーを使用して更新できます キーはすべての値に対して一意であるため。 myDictionary[myKey] = myNewValue; 例 IDと名前を持つ学生の辞書を見てみましょう。ここで、ID2の学生の名前を「Mrk」から「Mark」に変更したい場合。 us
-
C#でGUID値を作成するにはどうすればよいですか?
グローバル一意識別子またはGUIDは、巨大な識別番号を表します。これは非常に大きいため、データベースなどの単一のシステムだけでなく、複数のシステム間で一意であることが数学的に保証されています。分散アプリケーション。 一意キーの総数(3.40282366×1038)が非常に多いため、同じ数が2回生成される確率は非常に低くなります。 100億のランダムGUIDを使用するアプリケーションの場合、一致する確率は約5分の1です。(10 30 ) たとえば、小売ドメインでは、顧客がそのIDを使用して返品、調整などの販売後の操作を実行できるように、トランザクションごとに一意を生成する場合、GUIDを使
-
C#でのバイナリシリアル化と逆シリアル化とは何ですか?C#でバイナリシリアル化を実現する方法は?
オブジェクトを人間が読める形式ではないバイナリ形式に変換することを、バイナリシリアル化と呼びます。 バイナリ形式を人間が読める形式に戻すことを逆シリアル化と呼びますか? C#でバイナリシリアル化を実現するには、ライブラリ System.Runtime.Serialization.Formatters.Binaryを使用する必要があります。 組み立て BinaryFormatterクラスのオブジェクトを作成し、クラス内でserializeメソッドを利用します 例 Serialize an Object to Binary [Serializable] public class Demo {
-
C#のIEnumerableとIQueryableの違いは何ですか?
IEnumerableはSystem.Collections名前空間に存在します。 IQueryableはシステムに存在します。 Linq名前空間。 IEnumerableとIQueryableはどちらもフォワードコレクションです。 IEnumerableは遅延読み込みをサポートしていません IQueryableは遅延読み込みをサポートします データベースからデータをクエリするIEnumerableは、サーバー側でselectクエリを実行し、クライアント側でデータをメモリ内にロードしてから、データをフィルタリングします。 データベースからデータをクエリすると、IQueryableはすべてのフィ
-
C#のbinおよびobjフォルダーとは何ですか?
C#コードを記述してソリューションをビルドまたは実行すると、2つのフォルダーが生成されます- ビン obj これらのbinとobjにはコンパイルされたコードがあります なぜ2つのフォルダがあるのですか? その理由は、コンパイルプロセスが2つのステップを経るからです コンパイル リンク コンパイルでは、すべての個々のファイルが個々のユニットにコンパイルされます これらのコンパイル済みファイルは、後でdllまたはexeの1つのユニットにリンクされます コンパイルされたフェーズで発生したことはすべて、objフォルダーに追加されます リンクされたフェーズである最後のコンパイル
-
#if DEBUGとは何ですか?C#での使用方法は?
Visual Studioのデバッグモードとリリースモードは、.Netプロジェクトを構築するための異なる構成です。 .Netプロジェクトを段階的にデバッグするためのデバッグモードを選択し、アセンブリファイル(.dllまたは.exe)の最終ビルドのためにリリースモードを選択します。 ソースコードと生成された命令の関係がより複雑であるため、デバッグモードは生成するバイナリを最適化しません。 これにより、ブレークポイントを正確に設定でき、プログラマーは一度に1行ずつコードをステップ実行できます。 プログラムのデバッグ構成は、デバッガーがソースコードのどこにあるかを把握するのに役立つ完全なシン
-
C#でイベントをサブスクライブするにはどうすればよいですか?C#で1つのイベントに複数のサブスクライバーを含めることはできますか?
イベントを使用すると、クラスまたはオブジェクトは、関心のあることが発生したときに他のクラスまたはオブジェクトに通知できます。 イベントを発生させるクラスはパブリッシャーと呼ばれ、イベントを処理するクラスはサブスクライバーと呼ばれます。 イベントで イベントには複数のサブスクライバーを含めることができます。サブスクライバーは、複数のパブリッシャーからの複数のイベントを処理できます。 サブスクライバーがいないイベントは発生しません。 パブリッシャーは、イベントがいつ発生するかを決定します。サブスクライバーは、イベントに応じて実行するアクションを決定します。 例 class Program
-
C#でorder by、group byを使用する方法は?
Order byは、配列を昇順または降順で並べ替えるために使用されます GroupBy演算子は、GroupingOperatorsカテゴリに属します。この演算子は、アイテムのフラットシーケンスを取得し、そのシーケンスを特定のキーに基づいてグループ(IGrouping )に編成し、シーケンスのグループを返します 例 class ElectronicGoods { public int Id { get; set; } public string Name { get; set; } public string Cat
-
インターフェイスの暗黙的な実装とは何ですか?C#でインターフェイスの暗黙的な実装をいつ使用するのですか?
C#インターフェイスメンバーは、明示的または暗黙的に実装できます。 暗黙的な実装には、メンバー名の前に実装されているインターフェースの名前が含まれていないため、コンパイラーはこれを推測します。メンバーは公開され、オブジェクトがコンクリートタイプとしてキャストされたときにアクセスできるようになります。 メソッドの呼び出しも同じです。クラスのオブジェクトを作成して呼び出すだけです。 複数のインターフェースで同じメソッド名が宣言されている場合、暗黙のインターフェースは使用できません 例 interface ICar { void displayCar(); } int
-
EXEとDLLの違いは何ですか?また、どのように生成されますか?
dll-ダイナミックリンクライブラリ アセンブリがクラスライブラリとしてコンパイルされ、他のアセンブリが使用するタイプを提供する場合、ファイル拡張子は.dll(ダイナミックリンクライブラリ)になります。 DLLをスタンドアロンで実行することはできません。 DLLは、他のプログラムによってロードおよび実行されるように設計されているため、直接実行することはできません。 DLLは、呼び出し元のアプリケーションと同じプロセスとメモリスペースを共有します それらは他のアプリケーションに再利用できます。コーダーがDLLファイル内の関数とプロシージャの名前とパラメータを知っている限り。 EXE-実
-
C#の静的クラスとシングルトンインスタンスの違いは何ですか?
静的 静的はキーワードです 静的クラスには静的メンバーのみを含めることができます 静的オブジェクトはスタックに保存されます。 Staticはインターフェースを実装できず、他のクラスから継承できません シングルトン シングルトンはデザインパターンです シングルトンは、クラスのインスタンスが1つあるオブジェクト作成パターンです シングルトンはインターフェースを実装し、他のクラスから継承でき、オブジェクト指向の概念と一致します シングルトンオブジェクトを参照として渡すことができます シングルトンはオブジェクトの廃棄をサポートします シングルトンオブジェクトはヒープに格納されます シングルトン
-
C#でシングルトンデザインパターンを実装するにはどうすればよいですか?
シングルトンパターンは作成型パターンに属します シングルトンデザインパターンは、特定のクラスの1つのオブジェクトのみがインスタンス化されるようにする必要がある場合に使用されます。作成されたその単一のインスタンスは、アプリケーション全体のアクションを調整する責任があります。 実装ガイドラインの一部として、クラスのすべてのコンストラクターをプライベートとして宣言することにより、クラスのインスタンスが1つだけ存在するようにする必要があります。また、シングルトンアクセスを制御するには、オブジェクトの単一インスタンスを返す静的プロパティを提供する必要があります。 例 封印されていると、継承されるク
-
typeof、GetTypeとは何ですか、またはC#にありますか?
Typeof() タイプはタイプを受け取り、引数のタイプを返します。 GetType() C#の配列クラスのGetType()メソッドは、現在のインスタンスのタイプを取得します。 はです 「is」キーワードは、オブジェクトを特定のタイプにキャストできるかどうかを確認するために使用されます。操作の戻りタイプはブール値です。 例 class Demo { } class Program { static void Main() { var demo = new Demo(); Co
-
[Flags] Enum AttributeはC#で何を意味しますか?
列挙型フラグは、列挙型変数を取得し、複数の値を保持できるようにするために使用されます。列挙型が単一の値を表すのではなく、フラグのコレクションを表す場合は常に使用する必要があります 数値に対してビット演算(AND、OR、EXCLUSIVE OR)を実行する場合にのみ、FlagsAttributeを列挙に使用します。 列挙定数を2の累乗、つまり1、2、4、8などで定義します。これは、結合された列挙定数の個々のフラグが重複しないことを意味します。 例 class Program { [Flags] enum SocialMediaFlags {
-
.NETでオブジェクトのディープコピーをどのように実行しますか?
ディープコピーはすべてを複製します。コレクションのディープコピーは、元のコレクションのすべての要素が複製された2つのコレクションです ディープコピーは、内部参照型の完全なディープコピーを作成するために使用されます。 言い換えると、オブジェクトが参照先のオブジェクトと一緒にコピーされるときに、ディープコピーが発生します。 例 class DeepCopy { public int a = 10; } class Program { static void Main() { //Deep Copy &