C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C#でコードを再利用可能にする方法|インターフェースの基本と活用ポイント

    C#でコードを再利用可能にするには、インターフェースを使用するのが効果的です。インターフェースは、プロパティ・メソッド・イベントといったメンバーを定義する仕組みで、メンバーの宣言のみを含みます。実際の実装は派生クラス側の責任となり、その結果、派生クラスが従うべき標準的な構造を提供できるようになります。インターフェースの定義例例として、図形を表すShapeインターフェースを見てみましょう。public interface IShape { void display(); }命名規則:先頭に「I」を付ける上記ではIShapeというインターフェースを宣言しました。名前が大文字の「I」で始まっ

  2. C#の正規表現で一致する部分文字列を見つける方法

    C#では、System.Text.RegularExpressions名前空間に含まれるRegexクラスを使うことで、文字列の中から特定のパターンに一致する部分文字列を簡単に検索できます。本記事では、Regex.Matchesメソッドと正規表現パターンを組み合わせて、文字列から目的の単語を抽出する方法を解説します。 検索対象となる文字列 まず、次のような文字列を用意します。 string str = My make ; 使用する正規表現パターン この文字列から「make」という単語を見つけるには、次の正規表現を使用します。 @\bmake\b ここで使われている「\b」は「単語境界(

  3. C#で書式を指定して出力する方法(数値・日付のフォーマット)

    C#では、String.Formatメソッドを使うことで、数値や日付(DateTime)の出力を自由に書式設定できます。ここでは、double型の数値とDateTime型の日付に対して書式を適用する具体例を紹介します。 double型の書式設定付き出力 まずは、double型の値に対して「小数点以下の桁数指定」と「桁区切り(カンマ挿入)」を行う例です。 サンプルコード using System; class Demo {    public static void Main(String[] args) {       Console.Wri

  4. C#で文字列リテラルをフォーマットする方法【String.Formatの使い方】

    C#で文字列リテラルをフォーマットするには? C#で文字列リテラルをフォーマットするには、String.Formatメソッドを使用します。このメソッドを使うと、波括弧「{}」で囲まれたプレースホルダーに値を挿入できるだけでなく、小数点以下の桁数や桁区切りなど、数値の表示形式も柔軟に指定できます。 プレースホルダー内の数字(例:{0})は、挿入するオブジェクトのインデックス(引数の位置)を表します。次の例では、{0}の位置にdecimal型の変数Aの値が文字列として埋め込まれます。 using System; namespace Demo { class Test { st

  5. C#で整数リストから重複を検出して表示する方法

    整数のリストから重複する値を検出して表示するには、ContainsKeyメソッドを使用する方法が便利です。Dictionaryのキーに各整数を登録しながら出現回数をカウントすることで、効率的に重複を特定できます。 整数配列の準備 まず、重複を含む整数の配列を定義します。 int[] arr = { 3, 6, 3, 8, 9, 2, 2 }; Dictionaryで出現回数をカウントする 次に、Dictionary<int, int>コレクションを使用して、各整数の出現回数を記録します。配列の各要素について、すでにキーが存在する場合はカウン

  6. C#でリスト(List)を文字列に変換する方法をわかりやすく解説

    C#では、string.Joinメソッドを使うことで、リスト(List)の要素を簡単にひとつの文字列に結合できます。ここでは、基本的な手順とサンプルコードを紹介します。 手順1:リストを宣言する まず、文字列型のリストを宣言します。 List<string> l = new List<string>(); 手順2:リストに要素を追加する 次に、Addメソッドを使ってリストに要素を追加していきます。 // 要素の追加 l.Add(Accessories); l.Add(Footwear); l.Add(Watches); 手順3:リストを文字列に変換する string.J

  7. 【C#】配列内の2つの整数の合計が指定した整数と一致するか判定するプログラム

    はじめにこの記事では、C#を使用して「配列内の任意の2つの整数を足し合わせた結果が、指定された整数と一致するかどうか」を判定するプログラムを紹介します。初心者にもわかりやすいよう、基本的な二重ループによる実装方法から、パフォーマンスを改善した手法まで順番に解説していきます。対象となる配列の準備まず、判定に使用する整数型の配列を定義します。int[] arr = new int[] { 7, 4, 6, 2 };次に、2つの整数の合計と比較する対象となる整数を設定します。int res = 8;判定ロジックの実装配列内のすべての要素の組み合わせを調べるために、二重

  8. 【C#】整数配列から重複のない要素をすべて出力する方法

    C#で整数配列に含まれる重複しない要素(個別の要素)をすべて出力するには、Dictionaryクラスを活用するのが便利です。この記事では、配列とDictionaryを組み合わせて、各要素とその出現回数を表示する方法をわかりやすく解説します。 配列とDictionaryの準備 まず、対象となる整数型の配列と、キー・値のペアを格納するためのDictionaryを用意します。 int[] arr = { 88, 23, 56, 96, 43 }; var d = new Dictionary<int, int>(); Dictionaryコレクショ

  9. C#で通貨換算プログラムを作成する方法

    この記事では、C#を使って米ドル(USD)をインドルピー(INR)に換算するプログラムの作成方法を解説します。例として、「10ドルはいくらになるのか」を計算してみましょう。 1. 変数の宣言 まず、換算に必要な変数を宣言します。ドルの金額、為替レート、換算結果の3つを用意します。 double usd, inr, val; usd:換算したい米ドルの金額 val:現在の為替レート(1ドルあたりのルピー) inr:換算後のインドルピーの金額 2. 金額の設定と換算処理 次に、ドルの金額と為替レートを設定し、掛け算によってインドルピーへ換算します。 // ドルの金額 usd = 10

  10. C#で偶数と奇数の整数を別々の配列に分割する方法

    C#では、剰余演算子(%)を使うことで、配列内の整数を偶数と奇数に振り分け、それぞれ別の配列に格納することができます。本記事では、その具体的な実装方法をサンプルコードとともに解説します。 基本的な考え方 まず、偶数と奇数を格納するための2つの配列を用意します。 int[] arr2 = new int[5]; int[] arr3 = new int[5]; ある要素を2で割った余りが0であれば、その要素は偶数です。この条件に合致した要素を取り出し、別の配列へ追加していきます。以下のコードでは、forループで元の配列の長さ分だけ繰り返し処理を行っています。 if (arr1[i] % 2 ==

  11. C#で時刻を12時間制から24時間制に変換する方法

    C#では、DateTime構造体とカスタム書式指定子を組み合わせることで、12時間制(AM/PM付き)の時刻を24時間制へ簡単に変換できます。ここでは、その基本的な手順をサンプルコード付きで解説します。1. 12時間形式の時刻を設定するまず、DateTime.Parseメソッドを使って、12時間形式(午前・午後)の時刻文字列を解析し、DateTimeオブジェクトとして取得します。DateTime d = DateTime.Parse(05:00 PM);2. 24時間形式に変換する次に、ToStringメソッドに書式指定子「HH:mm」を渡して、24時間形式の文字列に変換します。「HH」は24

  12. C#で整数配列内のすべての重複要素を検索する方法

    C#で整数配列の中から重複している要素を見つけたい場合、Dictionary(ディクショナリ)を使うのが最もシンプルで効率的な方法の一つです。各要素の出現回数を記録していき、カウントが2以上のものが「重複要素」として特定できます。この記事では、Dictionary<int, int> を使って配列内の重複要素とその出現回数を検出する具体的な手順を解説します。手順1:重複要素を含む配列を用意するまず、重複した値が含まれる整数型の配列を定義します。ここでは例として、10 と 32 がそれぞれ2回出現する配列を使用します。int[] arr = { 24, 10,

  13. C#でリスト内の最大値・最小値・2番目に大きい値・2番目に小さい値を検索する方法

    C#では、LINQ(System.Linq)を活用することで、配列やリストの中から最大値、最小値、さらには2番目に大きい値・2番目に小さい値も簡単に取得できます。この記事では、Max()、Min()、OrderByDescending()、OrderBy() などのメソッドを使った具体的な手順を、サンプルコードとともにわかりやすく解説します。使用するデータの準備まず、対象となる整数の配列を用意します。var val = new int[] { 99, 35, 26, 87 };最大値・最小値の取得最大値は Max() メソッドで取得できます。val.Max(z

  14. C#のHashSetを使って3つの配列から共通要素を見つけるプログラム

    この記事では、C#のHashSetを活用して、3つの配列に共通する要素を効率的に見つける方法を解説します。まず比較対象となる3つの整数型配列を用意し、それぞれをHashSetに変換してから、共通する値を抽出していきます。 1. 3つの配列を定義する はじめに、共通要素を調べる対象となる3つの配列を宣言します。 int[] arr1 = { 99, 57, 63, 98 }; int[] arr2 = { 43, 99, 33, 57 }; int[] arr3 = { 99, 57, 42 }; 2.

  15. C#のオブジェクトプールとは?仕組みとパフォーマンス最適化の方法を解説

    オブジェクトプール(Object Pool)とは、メモリや接続などの限られたリソースを効率的に管理するために設計されたソフトウェア構造です。あらかじめ生成しておいたオブジェクトを「プール」と呼ばれる保管領域に保持し、必要なときに取り出して再利用することで、オブジェクト生成・破棄にかかるコストを大幅に削減できます。オブジェクトプールの基本的な仕組みオブジェクトプールに格納されたオブジェクトは繰り返し再利用可能であり、その動作には主に次の2つの形式があります。オブジェクトがアクティブ化されるとき、プールから取り出されて使用されます。オブジェクトが非アクティブ化されるとき、破棄せずにプールへ返却され

  16. C#で文字列内の各文字の出現回数をカウントする方法

    C#では、文字列に含まれる各文字が何回出現するかを簡単に調べることができます。この記事では、配列を使って文字の出現回数を効率的にカウントするプログラムを紹介します。 基本的な考え方 まず、対象となる文字列を用意します。 String s = mynameistomhanks; 次に、文字ごとの出現回数を記録するためのint型の配列を作成します。ASCIIコードは256種類あるため、サイズ256の配列を用意すると、すべての半角文字に対応できます。 そして、文字列とこの配列を専用のメソッドに渡し、文字列を1文字ずつ走査しながら出現回数をカウントします。 カウント用メソッドの実装 以下のメソッドでは

  17. C#の文字列テンプレートクラス(StringTemplate)とは?名前付きプレースホルダーで可読性の高い文字列整形を実現

    C#のStringTemplateクラスとはStringTemplateクラスは、書式指定文字列を解析するためのクラスで、標準のString.Formatと互換性を持つように設計されています。このクラスは、拡張メソッドを多数提供するNStringライブラリに含まれており、文字列操作をより直感的かつ簡単に行えるようになります。NStringライブラリが提供する主な拡張メソッドNStringライブラリには、日常的な文字列処理を簡潔に記述できる便利な拡張メソッドが用意されています。代表的なものは以下の通りです。IsNullOrEmpty()IsNullOrWhiteSpace()Join()Trun

  18. C#の抽象化とは?抽象クラスの基本と実装例をわかりやすく解説

    抽象化(Abstraction)とカプセル化(Encapsulation)は、オブジェクト指向プログラミングにおいて密接に関連する概念です。抽象化は必要な情報だけを外部に見せることを可能にし、カプセル化はプログラマーがその抽象化のレベルを自由に実装できるようにする仕組みです。 抽象化とは何か 抽象化とは、オブジェクトの本質的な特徴や振る舞いだけを取り出し、不要な詳細を隠すことで、複雑なシステムをシンプルに扱えるようにする考え方です。たとえば「図形」という抽象的な概念に対して「面積を計算できる」という共通の操作だけを定義し、実際の計算方法は各図形(長方形・円など)に任せる、といった柔軟な設計が可

  19. C#でCopyOnWriteArrayList相当を実現する方法:SynchronizedCollectionクラスの解説

    JavaにはスレッドセーフなリストとしてCopyOnWriteArrayListが用意されていますが、残念ながらC#にはこれに直接相当するクラスは存在しません。C#で同様の目的を達成したい場合は、SynchronizedCollectionクラスを使用するのが推奨されます。SynchronizedCollectionクラスとはSynchronizedCollectionクラスは、指定した型のオブジェクトを格納できるスレッドセーフなコレクションを提供します。複数のスレッドから同時にアクセスされても、内部で同期処理が行われるため、安全に読み書きできます。構文public class Synchro

  20. C#入門:スレッドの同期とスレッドプールの使い方をわかりやすく解説

    マルチスレッドアプリケーションにおける「同期」とは同期(Synchronization)を利用すると、マルチスレッドアプリケーションにおいて複数のスレッドから共有リソースへアクセスするタイミングを制御できます。これにより、データの競合や予期しない動作を防ぎ、安全な並行処理を実現します。Mutex(ミューテックス)によるプロセス間の同期Mutexは、プロセスをまたいだスレッド間の同期を実現できる同期プリミティブです。同じコードブロックが、複数のスレッドによって同時に実行されるのを防止したい場合に活用されます。たとえば、ファイルや共有メモリなど、同時に書き込むと不整合が発生しうるリソースへのアクセ

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