-
C#での配列コピー
配列を使用します。ある配列のセクションを別の配列にコピーするには、C#のcopyメソッドを使用します。 元の配列には10個の要素があります- int [] n = new int[10]; /* n is an array of 10 integers */ 配列1のセクションをコピーする新しい配列には、5つの要素があります- int [] m = new int[5]; /* m is an array of 5 integers */ array.copy()メソッドを使用すると、ソース配列と宛先配列を追加できます。それで、2番目の配列に含まれる最初の配列のセクションのサイズを含めます
-
C#での関連付け、構成、および集約
C#での関連付け 関連付けは、C#のオブジェクト間の関係を定義します。オブジェクト間には、1対1、1対多、多対1、および多対多の関係を定義できます。 たとえば、1人の従業員を複数のプロジェクトに関連付けることができますが、プロジェクトには複数の従業員を含めることができます。 C#での構成 [構成]で、親オブジェクトが削除されると、子オブジェクトもそのステータスを失います。 構成は特殊なタイプの集約であり、関係の一部を提供します。 たとえば、車にはエンジンがあります。車が破壊されると、エンジンも破壊されます。 C#での集計 集約は、C#のオブジェクト間の直接的な関係です。オブジェクト間の
-
C#のAsync&awaitキーワード
async and awaitキーワードは、非同期プログラミングのC#で使用されます。 GUIを備えたアプリケーションは、キューの内容を確認し、未処理のタスクが存在する場合は、それを取り出して最初に処理します。コードは同期的に実行され、未処理のタスクが最初に完了します。処理に予想以上の時間がかかると、アプリケーションはメッセージへの応答を停止します。 上記で説明したことを見てみましょう- private void OnRequestDownload(object sender, RoutedEventArgs e) { var req = HttpWebReques
-
C#でのボクシングとアンボクシング
ボクシング ボクシングとは、値型から参照型への暗黙の変換です。 開梱 Unboxingは、ボクシングによって作成された参照型を値型に明示的に変換することです。 例 サンプルコードスニペットを見てみましょう- // int int myVal = 12; // Boxing object myBoxed = myVal; // Unboxing int myUnBoxed = (int) myBoxed; C#の配列リストを示す別の例を見てみましょう- int a = 5; ArrayList arr = new ArrayList(); // Boxing arr.Add(a); //
-
C#のバックグラウンドスレッドとフォアグラウンドスレッド
スレッドはプログラムの実行パスとして定義されます。各スレッドは、固有の制御フローを定義します バックグラウンドスレッド フォアグラウンドスレッドが閉じると、バックグラウンドスレッドは終了します。 バックグラウンドスレッドに使用されるプロパティは、スレッドがバックグラウンドスレッドであるかどうかを示す値を取得または設定するIsBackgroundです。作成されるデフォルトのスレッドはフォアグラウンドスレッドであるため、このプロパティのデフォルト値はfalseになります。 背景スレッドを作成するには- Thread bgThread = new Thread(tStart); bgThread
-
C#のバックグラウンドワーカークラス
名前が示すように、Background Worker Classを使用すると、バックグラウンドで継続的に実行され、必要に応じてメインスレッドと通信するスレッドを設定できます。 BackgroundWorkerは、Windowsフォームにスレッドを実装します。 UIがフリーズしないように、集中的なタスクを別のスレッドで実行する必要があります。タスクが完了したら、メッセージを投稿してユーザーインターフェイスを更新する必要があります。 BackgroundWorkerクラスでは次のプロパティが使用されます: 参照: Microsoft Developer Network(MSDN) S
-
C#を使用した基本的な計算プログラム
C#で電卓プログラムを作成するには、Webフォームを使用する必要があります。その下に、1〜9のボタン、足し算、引き算、掛け算などを作成します。 足し算、引き算、掛け算のコードを見てみましょう。まず、2つの変数を宣言しました- static float x, y; 次に、個々のボタンクリックで計算用のコードを設定する方法を説明します。計算機の表示にもWindowsフォームを使用したため、結果のテキストボックスはtbResultになります- protected void add_Click(object sender, EventArgs e) { x = Conver
-
C#のBigIntegerクラス
BigIntegerを使用して、C#で大きな数値を処理します。 BigIntegerに追加するアセンブリはシステムです。数値。 C#では、大きな整数はSystem.Numerics.BigIntegerにあります。 構文 BigIntegerの構文- [SerializableAttribute] public struct BigInteger : IFormattable, IComparable, IComparable<BigInteger>, IEquatable<BigInteger> サンプルコードスニペットを見てみましょう- BigInteger n
-
C#での二分探索
バイナリ検索はソートされた配列で機能します。値は配列の中央の要素と比較されます。同等性が見つからない場合は、値が存在しない半分の部分が削除されます。同様に、残りの半分の部分が検索されます。 これが配列のmid要素です。 62を見つける必要があるとしましょう。そうすると、左側の部分が削除され、右側の部分が検索されます- これらは二分探索の複雑さです- 最悪の場合のパフォーマンス O(log n) ベストケースのパフォーマンス O(1) 平均パフォーマンス O(log n) 最悪の場合のスペースの複雑さ O(1) 例 二分
-
C#を使用した2進数から10進数
2進数を10進数に変換するために、ここではwhileループを使用して、入力である2進数の余りを見つけました。その後、余りに基本値を掛けて加算します。 これは私が小数値を取得するために行ったことです- while (val > 0) { remainder = val % 10; myDecimal = myDecimal + remainder* baseVal; val = val / 10; baseVal = baseVal * 2; } 例 C#で2進数を10進数に変換する完
-
C#のビット単位の右シフト演算子
ビット演算子はビットを処理し、ビットごとの演算を実行します。ビット単位の右シフト演算子では、左のオペランドの値は、右のオペランドで指定されたビット数だけ右に移動します。 以下のコードでは、値-があります。 60 i.e. 0011 1100 右シフト%マイナス; c = a >> 2; 2回右シフトすると15に変換されます- 15 i.e. 0000 1111 例 次のコードを実行して、C#でビット単位の右シフト演算子を実装してみてください- using System; using System.Collections.Generic; using System.Text;
-
バイナリ表現が回文であるかどうかを確認するC#プログラム
回文をチェックするために、数値が5で、2進数が-であるとします。 101 101の回文は101であり、チェックするには、次の関数を使用してビットを反転する必要があります。ここでは、ビット単位の左シフト演算子とビット単位の右シフト演算子が使用されています- public static long funcReverse(long num) { long myRev = 0; while (num > 0) { myRev <<= 1; if (
-
2進数にK個の連続した1があるかどうかを確認するC#プログラム
2進数で連続する1を確認するには、0と1を確認する必要があります。 まず、bool配列を0と1に設定します。つまり、falseとtrue- bool []myArr = {false, true, false, false, false, true, true, true}; 0の場合、カウントを0に設定します- if (myArr[i] == false) count = 0; 1の場合、カウントを増やして結果を設定します。 Max()メソッドは、2つの数値の大きい方を返します- count++; res = Math.Max(res, count); 例 以下
-
整数を文字列に変換するC#プログラム
C#で整数を文字列に変換するには、ToString()メソッドを使用します。 文字列が必要な整数を設定します- int num = 299; ToString()メソッドを使用して、整数を文字列に変換します- String s; int num = 299; s = num.ToString(); 例 次のコードを実行して、C#で整数を文字列に変換してみてください- using System; class MyApplication { static void Main(string[] args) { String s;
-
現在のスレッドのステータスをチェックするC#プログラム
C#で現在のスレッドのステータスを確認するには、 IsAliveを使用します プロパティ。 まず、 currentThreadを使用します スレッドに関する情報を表示するプロパティ- Thread thread = Thread.CurrentThread; 次に、 thread.IsAliveを使用します スレッドのステータスをチェックするプロパティ- thread.IsAlive 例 C#で現在のスレッドのステータスを確認するための完全なコードを見てみましょう。 using System; using System.Threading; namespace Demo {  
-
C#のバブルソートプログラム
バブルソートは単純なソートアルゴリズムです。この並べ替えアルゴリズムは比較ベースのアルゴリズムであり、隣接する要素の各ペアが比較され、要素が順番に並んでいない場合は要素が交換されます。 intに5つの要素があるとしましょう- int[] arr = { 78, 55, 45, 98, 13 }; それでは、バブルソートを実行しましょう。 最初の2つの要素78と55から始めます。55は78より小さいので、両方を交換します。これでリストは-になります 55, 78,45,98, 13 現在、45は78未満なので、交換してください。 55, 45, 78, 98, 3 現在、98は78より大き
-
C#と多重継承
多重継承はC#ではサポートされていません。多重継承を実装するには、インターフェースを使用します。 これがShapeクラスのPaintCostインターフェースです- public interface PaintCost { int getCost(int area); } 形状は基本クラスですが、Rectangleは派生クラスです- class Rectangle : Shape, PaintCost { public int getArea() { return (width * height); &
-
C#匿名メソッド
匿名メソッドは、コードブロックをデリゲートパラメータとして渡す手法を提供します。匿名メソッドとは、名前のないメソッドであり、本文のみです。 C#で匿名メソッドを宣言する方法を見てみましょう- delegate void NumberChanger(int n); ... NumberChanger nc = delegate(int x) { Console.WriteLine("Anonymous Method: {0}", x); }; 例 以下は、C#で匿名メソッドを実装する例です。 using System; delegate void
-
階層継承のC#の例
階層継承の基本クラスから複数のクラスが継承されます。 この例では、基本クラスは父です。 − class Father { public void display() { Console.WriteLine("Display..."); } } 息子がいます と娘 派生クラスとして。継承に派生クラスを追加する方法を見てみましょう- class Son : Father { public void displayOne() {
-
与えられた文字列に部分文字列が存在するかどうかをチェックするC#プログラム
C#のcontains()メソッドを使用して、サブ文字列が特定の文字列に含まれているかどうかを確認します。 文字列は-だとしましょう United 文字列内で、部分文字列「Uni」を見つける必要があります。そのためには、containsメソッドを使用し、次のコードスニペットのように使用します- res = str1.Contains(str2); 例 次のコードを実行して、文字列内の部分文字列を見つけることができます。 using System; public class Demo { public static void Main() {