C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C#で再帰を使ってフィボナッチ数列のn番目の値を取得する方法

    C#では、再帰(リカーシブ)処理を利用することで、フィボナッチ数列のn番目の値を簡潔に求めることができます。まず、n番目の値を返すメソッドを作成しましょう。public int displayFibonacci(int n)このメソッドは次のように呼び出します。displayFibonacci(val)呼び出されると、displayFibonacci() メソッドが再帰的に実行され、n番目の値を計算します。public int displayFibonacci(int n) {    if (n == 0) {       return 0;

  2. C#でスレッドの現在のコンテキストIDを取得する方法

    C#では、Thread.CurrentContext.ContextIDプロパティを使うことで、実行中のスレッドが属する現在のコンテキストIDを簡単に取得できます。この記事では、新しいスレッドの作成からコンテキストIDの表示まで、完全なサンプルコードとともに解説します。新しいスレッドを作成するまず、現在のスレッドを取得して名前を設定する方法を見てみましょう。Thread thread = Thread.CurrentThread; thread.Name = My new Thread;現在のコンテキストIDを取得するスレッドの現在のコンテキストIDを取得するには、ContextIDプロパティ

  3. C#で再帰呼び出しを使って数値の累乗を求める方法

    数値の累乗を計算するには、まず基数となる数値と、べき乗する回数(指数)を設定します。int n = 15; int p = 2;次に、これらの値を受け取る再帰メソッドを作成します。static long power(int n, int p) { if (p != 0) { return (n * power(n, p - 1)); } return 1; }再帰呼び出しの仕組み上記のコードでは、以下の再帰呼び出しによって結果が得られます。n * power(n, p - 1)このメソッドは、指数 p が 0 になるまで自分自身を繰り返し呼び出します。呼

  4. C#でメソッドの実行時間を計測する方法【Stopwatchクラスの使い方】

    .NETでメソッドの実行時間を計測したい場合は、System.Diagnostics名前空間に含まれるStopwatchクラスを使うのが最も簡単で確実な方法です。高精度タイマーに基づいているため、ミリ秒単位の細かい計測にも対応できます。 Stopwatchクラスの基本的な使い方 まず、StartNewメソッドを呼び出してストップウォッチを開始します。 Stopwatch s = Stopwatch.StartNew(); 計測対象の処理を実行した後、ElapsedMillisecondsプロパティを参照することで、経過時間をミリ秒単位で取得できます。 s.ElapsedMillisec

  5. C#でディスクの空き容量を取得する方法

    C#でディスクの空き容量を確認する手順C#では、System.IO名前空間に含まれるDriveInfoクラスを使用することで、ドライブの空き容量や総容量などのディスク情報を簡単に取得できます。ここでは、指定したドライブの空き容量を取得し、その割合(パーセンテージ)を求める方法を解説します。1. DriveInfoクラスのインスタンスを作成するまず、調査対象となるドライブ名を指定して、DriveInfoクラスのインスタンスを生成します。以下の例では「E」ドライブを対象としています。DriveInfo dInfo = new DriveInfo(E);2. 空き容量を表示するAvailableFr

  6. 【C#】文字列が有効なキーワード(予約語)かどうかを判定する方法

    C#において、ある文字列が有効なキーワード(予約語)であるかどうかを確認したい場合は、IsValidIdentifierメソッドを使用します。 IsValidIdentifierメソッドは、入力された値が識別子(identifier)として有効かどうかを判定するものです。もし識別子として無効であれば、その文字列はC#のキーワードであると判断できます。つまり、「for」「class」「int」のような予約語は識別子として使用できないため、このメソッドがfalseを返すことになります。 それでは実際に、CodeDomProviderを作成し、IsValidIdentifierメソッドで判定を行う手

  7. C#プログラムで配列内のK番目に小さい要素を見つける方法

    はじめにC#では、配列を昇順に並べ替えてからインデックスを指定するだけで、K番目に小さい要素を簡単に求められます。本記事では、Array.Sort()メソッドを使った基本的な実装方法を、サンプルコード付きでわかりやすく解説します。ステップ1:配列を宣言するまず、対象となる整数型の配列を宣言します。int[] a = new int[] { 65, 45, 32, 97, 23, 75, 59 };ステップ2:配列をソートするここでは5番目に小さい整数を求めるものとします。まずArray.Sort()メソッドを使って配列を昇順に並べ替えます

  8. C#でfloat(浮動小数点数)を2進数に変換するプログラムの書き方

    C#では、剰余演算と除算を組み合わせたループ処理を使うことで、float型の浮動小数点数を2進数表現に変換できます。本記事では、その基本的な考え方と具体的なサンプルコードを解説します。変換の基本的な流れまず、次のようなfloat型の変数を用意します。float n = 50.5f;次に、2進数の値を格納するための空の文字列を宣言し、float変数の値が1以上である間、以下の処理を繰り返します。n % 2(2で割った余り)を求め、文字列の先頭に連結するn / 2で変数の値を更新するこの操作により、桁が小さい方(下位)から順に2進数の各ビットが取り出され、文字列の前方へ追加されていく仕組みです。s

  9. C#で配列に重複する数値が含まれているか確認する方法

    C#で配列を扱う際、同じ数値が複数回出現していないか(重複が存在するかどうか)を確認したいケースはよくあります。この記事では、Dictionary(辞書)を使って各要素の出現回数をカウントし、重複を検出する方法を解説します。 1. 配列の準備 まず、確認対象となる配列を用意します。 int[] arr = { 87, 55, 23, 87, 45, 23, 98 }; この配列には「87」と「23」がそれぞれ2回出現しているため、重複が存在します。 2. Dictionaryで出現回数をカウントする 次に、Dictionary<in

  10. C#のシングルトンクラスとは?実装方法とサンプルコードを解説

    シングルトンクラスとは シングルトンパターン(Singleton Pattern)は、クラスのインスタンスがアプリケーション内で1つだけ存在することを保証するデザインパターンです。データの割り当てやインスタンス化が一度だけ行われるため、メモリの無駄な消費を抑えることができます。 シングルトンクラスには通常のメソッドを持たせることが可能で、その唯一のインスタンスを通じてメソッドを呼び出します。 複数インスタンスの生成を防ぐ方法 クラスの複数のインスタンスが作成されるのを防ぐには、プライベートコンストラクタ(private constructor)を使用します。コンストラクタをprivateにす

  11. C#でLinkedListを走査する方法 ― 宣言からトラバーサルまで

    C#では、System.Collections.Generic名前空間に含まれるLinkedListコレクションを使用することで、連結リストを簡単に扱うことができます。まずはLinkedListを宣言する方法から見ていきましょう。var a = new LinkedList<string>();次に、AddLastメソッドを使ってリストの末尾に要素を追加します。a.AddLast(Tim); a.AddLast(Tom);LinkedListの走査(トラバーサル)は、foreachループを使うことで非常にシンプルに実現できます。以下に完全なサンプルコードを示します。サンプルコードu

  12. C#でのソケットプログラミング入門:TcpListenerとSocketクラスの使い方

    System.Net.Sockets名前空間とはC#の「System.Net.Sockets」名前空間には、Windowsソケットインターフェースのマネージド実装が用意されています。これにより、.NETアプリケーションからTCP/IPなどのネットワーク通信を簡単かつ安全に扱うことができます。同期モードと非同期モードこの名前空間のソケットプログラミングには、大きく分けて2つの基本モードが存在します。同期(Synchronous):処理が完了するまで待機する方式。実装がシンプルで理解しやすく、小規模なツールに向いています。非同期(Asynchronous):処理の完了を待たずに次の処理へ進める方式

  13. C#におけるスレッド同期の基本:lockステートメントとMutexクラスの使い方

    マルチスレッドアプリケーションでは、複数のスレッドが同時に同じリソースへアクセスすると、データの不整合や競合状態(レースコンディション)が発生する恐れがあります。そこで重要になるのが「同期(Synchronization)」です。同期を適切に行うことでリソースへのアクセスを制御し、安全な並行処理を実現できます。Mutexによるスレッドの同期ミューテックス(Mutex)は、プロセスをまたいだスレッド間の同期にも利用できる同期プリミティブです。特定のコードブロックを、複数のスレッドが同時に実行しないよう制御したい場合に使用します。lockステートメントの基本C#のlockステートメントを使用すると

  14. C#でのスレッドベースの並列処理:Taskを使った効率的な並行プログラミング

    C#では、タスク並列化(Task Parallelism)によって処理を複数のタスクに分割し、それぞれを別々のスレッドに割り当てて実行します。これにより、マルチコアCPUの性能を最大限に活かした高速なアプリケーションを実現できます。.NETで利用できる並列実行の仕組み.NETには、コードを並列に実行するための主な仕組みとして、以下の3つが用意されています。Thread — OSスレッドを直接操作する低レベルなクラスThreadPool — スレッドを再利用してオーバーヘッドを抑える仕組みTask — 非同期処理を抽象化した高レベルなAPI並列処理を実装する場合は、Threadクラスを直接扱うよ

  15. C#のスレッドセーフなコレクション(Concurrent名前空間)の使い方と種類まとめ

    マルチスレッド環境でアプリケーションを開発する際、複数のスレッドが同じコレクションに同時にアクセスすると、データの破損や予期しない動作を引き起こす可能性があります。これを防ぐために用意されているのが「スレッドセーフ(並行処理対応)コレクション」です。 System.Collections.Concurrent 名前空間とは .NET Framework 4では、System.Collections.Concurrent 名前空間が新たに導入されました。この名前空間には多数のコレクションクラスが含まれており、いずれもスレッドセーフかつスケーラブルに設計されています。そのため、複数のスレッドから同

  16. C#コードのユニットテスト入門:MS Unit Testによるテスト駆動開発

    C#におけるユニットテストの重要性 ユニットテストは、C#開発においてコードの品質を維持するために欠かせない手法です。開発サイクルの早い段階で問題を発見できるため、バグ修正にかかるコストを大幅に削減できます。 ユニットテストを導入することで、コードの信頼性と再利用性が向上し、安心してリファクタリングや機能拡張を行えるようになります。 TDD(テスト駆動開発)の基本原則 ユニットテストを採用する際の重要な原則の一つが、TDD(Test Driven Development:テスト駆動開発)アプローチです。TDDでは、まずテストケースを記述し、その後にテストをパスするための最小限のシンプルなコー

  17. C#でReaderWriterLockを使う方法|基本の使い方と主要なプロパティ・メソッド

    ReaderWriterLockとは ReaderWriterLockは、リソースへのアクセスを同期化(スレッド間での排他制御)を行うためのクラスです。 Monitorが一度に1つのスレッドしかロックを許可しない「一つずつ」の方式であるのに対し、ReaderWriterLockは読み取り操作と書き込み操作を区別し、複数のスレッドによる同時読み取りを許可することで、より高いスループットを実現できます。この特性は、リソースの変更頻度が低く、読み取りが多いシナリオで特に効果を発揮します。 ReaderWriterLockの宣言方法 C#でReaderWriterLockを宣言する方法は以下のとおり

  18. C#で配列を降順にソートする方法

    C#では、標準ライブラリのArray.Sort()メソッドとComparison<T>デリゲートを組み合わせることで、配列を簡単に降順(大きい値から小さい値の順)に並べ替えることができます。この記事では、その具体的な実装方法をサンプルコード付きで解説します。 1. 配列の宣言と初期化 まず、ソート対象となる整数型の配列を宣言し、初期化します。 int[] arr = new int[] { 87, 23, 65, 29, 67 }; 2. 降順ソートの実装 降順でソートするには、Array.Sort()メソッドの第2引数にComparison

  19. C#で単語を辞書式順序(アルファベット順)に並べ替える方法

    C#で単語を辞書式順序に並べ替えるC#では、LINQのorderby句を使うことで、文字列配列内の単語を簡単に辞書式順序(アルファベット順)に並べ替えることができます。ここでは、その基本的な手順とサンプルコードを紹介します。1. 文字列配列の準備まず、並べ替えの対象となる文字列配列を設定します。string[] arr = new string[] { Indian, Moroccon, American, };2. LINQのorderby句で並べ替え次に、クエリ構文のorderby句を使用して、単語を辞書式順序に並べ替えます。var sort = from a in

  20. C#のSortedListとは?JavaのSortedMapインターフェイスに相当するコレクションの使い方

    JavaにはSortedMapインターフェイスが用意されていますが、C#ではこれに相当する機能としてSortedListクラスが提供されています。 SortedListの特徴 C#のSortedListコレクションは、キーとインデックスの両方を使ってリスト内の項目にアクセスできるのが大きな特徴です。 SortedListは、配列とハッシュテーブルを組み合わせたような仕組みを持っています。キーまたはインデックスのいずれかで要素へアクセス可能で、インデックスでアクセスすればArrayListのような振る舞いになり、キーでアクセスすればHashtable(ハッシュテーブル)のような振る舞いになりま

Total 2668 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:39/134  20-コンピューター/Page Goto:1 33 34 35 36 37 38 39 40 41 42 43 44 45