-
C#のインデックスベースのI / O ArrayListコレクションとは何ですか?
ArrayListクラスは、個別にインデックスを付けることができるオブジェクトの順序付けられたコレクションを表します。アレイの代替手段です。 次の表に、ArrayListクラスの一般的に使用されるプロパティの一部を示します- Sr.No プロパティと説明 1 容量 ArrayListに含めることができる要素の数を取得または設定します。 2 カウント ArrayListに実際に含まれている要素の数を取得します。 3 IsFixedSize ArrayListのサイズが固定されているかどうかを示す値を取得します。 4 Is
-
C#のインデックスベースのI / O BitArrayコレクションとは何ですか?
BitArrayクラスは、ブール値として表されるビット値のコンパクトな配列を管理します。ここで、trueはビットがオン(1)であることを示し、falseはビットがオフ(0)であることを示します。 以下は、インデックスベースのBitArrayコレクションの方法です- Sr.No。 メソッドと説明 1 public BitArray And(BitArray value); 指定されたBitArrayの対応する要素に対して、現在のBitArrayの要素に対してビット単位のAND演算を実行します。 2 public bool Get(int index);
-
C#の最終的なローカル変数
ローカル変数のfinalを設定するには、finalキーワードを実装できないため、C#で読み取り専用キーワードを使用します。 読み取り専用では、変数に値を1回だけ割り当てることができます。 「読み取り専用」とマークされたフィールドは、オブジェクトの構築中に1回だけ設定できます。変更できません。 例を見てみましょう。以下では、empCountフィールドを読み取り専用に設定しました。これは、一度割り当てられると変更できません。 例 class Department { readonly int empCount; Employee(int e
-
C#のクラスメンバーのデフォルトアクセスは何ですか?
C#のクラスメンバーのデフォルトのアクセスはプライベートです。 メンバー変数、つまりクラスメンバーは、(設計の観点から)オブジェクトの属性であり、カプセル化を実装するためにプライベートに保たれます。これらの変数には、パブリックメンバー関数を使用してのみアクセスできます。 例 using System; namespace RectangleApplication { class Rectangle { //member variables private double length
-
リストコレクションを配列にコピーするにはどうすればよいですか?
C#リストコレクションを配列にコピーするには、最初にリストを設定します- List <string> list1 = new List <string> (); list1.Add("One"); list1.Add("Two"); list1.Add("Three"); list1.Add("Four"); 次に、文字列配列を宣言し、CopyTo()メソッドを使用して-をコピーします。 string[] arr = new string[20]; list1.CopyTo(arr);
-
C#のリストコレクションと配列の違いは何ですか?
リストコレクションはジェネリッククラスであり、リストを作成するために任意のデータ型を格納できます。リストを定義するには- List<string> l = new List<string>(); リストに要素を設定するには、Addメソッドを使用する必要があります。 l.Add("One"); l.Add("Two"); l.Add("Three"); 配列には、同じタイプの要素の固定サイズの順次コレクションが格納されます。 配列を定義するには- int[] arr = new int[5]; 要素を初
-
多次元配列とジャグ配列の違いは何ですか?
多次元配列 多次元配列は、長方形配列とも呼ばれます。整数の3次元配列を-として定義できます。 int [ , , ] val; 2次元配列を定義する方法を見てみましょう。 int[,] val = new[3,3] ジャグ配列 ジャグ配列は配列の配列です。そこから要素にアクセスするには、その特定の配列のインデックスに言及するだけです。 ここでは、整数の5つの配列を持つジャグ配列があります- int[][] a = new int[][]{new int[]{0,0},new int[]{1,2}, new int[]{2,4},new int[]{ 3, 6 }};
-
C#の静的クラスと非静的クラスの違いは何ですか?
以下は、静的クラスと非静的クラスの違いです- 非静的クラスはインスタンス化できますが、静的クラスはインスタンス化できません。つまり、newキーワードを使用してクラスタイプの変数を作成することはできません 静的クラスは静的メソッドのみを持つことができます。 非静的クラスには、インスタンスメソッドと静的メソッドを含めることができます。 クラス名自体を使用して静的クラスのメンバーにアクセスします 静的クラスは封印されています。 静的クラスの例- public static class Calculate 非静的クラスの例- public class Calcul
-
C#数値プロモーション
名前が示すように、数値の昇格は、小さいタイプから短いタイプから整数のような大きいタイプへの昇格です。 以下の例では、算術演算子の乗算で数値の昇格が見られました。 短いタイプは自動的に大きなタイプに昇格します- 例 using System; class Program { static void Main() { short val1 = 99; ushort val2 = 11; int res = val1 * val2; &nbs
-
スタックを使用した10進数から複数ベースへの変換
複数ベースの変換の場合は、変数を設定し、計算するベースを追加します。 ここでは、この例では、変数baseNumを2-として設定しました。 int baseNum = 2; 同様に、8進数が必要な場合は、上記を-として設定します。 int baseNum = 2; 上記の変数値をユーザー入力として取得することもできます。 値を取得したら、スタックを設定して値を取得します- Stack s = new Stack(); do { s.Push(n % baseNum); n /= baseNum; } while (n != 0); スタックを使用した後、要素をポップアウトします。それは
-
条件式のC#数値プロモーション
数値プロモーションは、小さいタイプから短いタイプから整数のような大きいタイプへのプロモーションです。 以下の例では、条件式で数値の昇格が見られました。 短い型は自動的に大きな型intにプロモートされます。 例 using System; class Program { static void Main() { short val1 = 99; int val2; val2 = (val1 == 1) ? 100 : 30;  
-
C#でのジェネリックと非ジェネリック
C#には、非ジェネリックコレクションとジェネリックコレクションの2種類のコレクションがあります。 C#のジェネリックス ジェネリックコレクションは、同じデータ型の要素を保持します。 例- リスト 辞書 ハッシュセット 辞書- 辞書は、C#のキーと値のコレクションです。辞書はSystem.Collection.Generics名前空間に含まれています。 ハッシュセット- C#のHashSetは、配列内の重複する文字列または要素を排除します。C#では、最適化されたセットコレクションです。 C#の非ジェネリック 非ジェネリックコレクションは、さまざまなデータ型の要素を保持します。
-
C#で内部キーワードを使用するのはなぜですか?
internalキーワードを使用すると、内部アクセス指定子を設定できます。 内部アクセス指定子を使用すると、クラスはそのメンバー変数とメンバー関数を現在のアセンブリ内の他の関数とオブジェクトに公開できます。 内部アクセス指定子を持つすべてのメンバーは、メンバーが定義されているアプリケーション内で定義されている任意のクラスまたはメソッドからアクセスできます。 例 using System; namespace RectangleApplication { class Rectangle { internal double
-
C#でparamsキーワードを使用するのはなぜですか?
メソッドを宣言するときに、パラメーターとして渡される引数の数がわからない場合は、C#パラメーター配列を使用してください。 以下は、C#でparamを実装する方法を学ぶための完全な例です- 例 using System; namespace Program { class ParamArray { public int AddElements(params int[] arr) { int sum = 0; &nbs
-
C#で2つのタプルを比較するにはどうすればよいですか?
タプルの比較はC#7.3以降に行われました。 C#の等式演算子を使用して2つのタプルを簡単に比較します。 2つのタプルがあるとしましょう- var one = (x: 1, y: 2); var two = (p: 1, 2: 3, r: 3, s:4); それらを比較するには、==演算子-を使用するだけです。 if (one == two) Console.WriteLine("Both the tuples are same (values are same)."); コードを見てみましょう- 例 var one = (x: 1, y: 2); var two
-
C#配列でインデックス作成がゼロから始まるのはなぜですか?
配列は、インデックスのメモリ内のアドレスへのポインタでした。このインデックスは、配列の最初の要素でした。ここで、インデックスは、C言語が生まれる前からのオフセットと概念のようなものです。 配列要素が0Xff000から始まり、{35,23,67,88,90}のような5つの要素があるとします。したがって、intは4バイトを使用して格納されるため、メモリ内の配列は次のようになります。 0Xff000 has 35 0Xff004 has 23 0Xff008 has 67 0Xff012 has 88 0Xff016 has 90 つまり、配列にアクセスすると、ゼロオフセットはインデックス0にな
-
C#の最後のキーワード
Javaにはfinalキーワードがありますが、C#にはその実装がありません。同じ実装では、sealedキーワードを使用します。 シールを使用すると、メソッドのオーバーライドを防ぐことができます。メソッドのC#で封印された修飾子を使用すると、メソッドはオーバーライドする機能を失います。封印されたメソッドは派生クラスの一部である必要があり、メソッドはオーバーライドされたメソッドである必要があります。 次の例では、ClassTwo派生クラスの封印された修飾子があるため、メソッドdisplay()をオーバーライドできません。 ClassOneは基本クラスですが、ClassTwoとClassThr
-
C#を使用して配列を反転します
まず、元の配列を設定します- int[] arr = { 1, 2,3 }; // Original Array Console.WriteLine("Original Array= "); fo reach (int i in arr) { Console.WriteLine(i); } 次に、Array.reverse()メソッドを使用して、配列を反転します- Array.Reverse(arr); 以下は、C#で配列を反転するための完全なコードです- 例
-
C#のHashSet、C#Setコレクションとは何ですか?
C#のHashSetは、配列内の重複する文字列または要素を排除します。C#では、最適化されたセットコレクションです。 C#HashSet-を使用して重複する文字列を削除する例を見てみましょう。 例 using System; using System.Collections.Generic; using System.Linq; class Program { static void Main() { string[] arr1 = { "one
-
C#の最終変数
Javaにはfinalキーワードがありますが、C#にはその実装がありません。同じ実装では、C#でsealedまたはreadonlyキーワードを使用します。 読み取り専用では、変数に値を1回だけ割り当てることができます。 「読み取り専用」とマークされたフィールドは、オブジェクトの構築中に1回だけ設定できます。変更できません。 例 class Employee { readonly int age; Employee(int age) { this.age = age; }