C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C#のグローバル変数とローカル変数の違いをわかりやすく解説

    ローカル変数とは ローカル変数とは、宣言されたメソッド内でのみ有効なスコープを持つ変数のことです。そのため、変数を宣言した関数やコードブロックの内部にあるステートメントからのみアクセスでき、外部から参照することはできません。 コード例 using System; public class Program { public static void Main() { int a; // ローカル変数 a = 100; Console.WriteLine(Value: + a); } } 出力結果 Value:

  2. JavaのThread.setDaemonに相当するC#の機能とは?フォアグラウンドスレッドとバックグラウンドスレッドの違いを解説

    Javaのデーモンスレッドに相当するC#の仕組みC#には、JavaのThread.setDaemonメソッドに直接対応するAPIは存在しませんが、代わりに「フォアグラウンドスレッド」と「バックグラウンドスレッド」という概念によって、同等の動作を実現できます。フォアグラウンドスレッドとバックグラウンドスレッドの違いC#におけるスレッドは、既定ではすべてフォアグラウンドスレッドとして作成されます。フォアグラウンドスレッドは、最後の1つが終了するまでプロセスを存続させ続けます。一方、バックグラウンドスレッドは、Javaのデーモンスレッドと同様の挙動を示します。すべてのフォアグラウンドスレッドが終了す

  3. Javaの関数型インターフェースに相当するC#の機能は「デリゲート」!使い方を徹底解説

    Javaにおける関数型インターフェース(Functional Interface)に相当する機能は、C#ではデリゲート(Delegate)です。どちらも「メソッドを変数のように扱う」という同じ目的を果たしますが、言語ごとに実装方法が異なります。本記事では、JavaとC#それぞれのコード例を比較しながら、その違いをわかりやすく解説します。Javaにおける関数型インターフェースの実装例Javaでは、@FunctionalInterfaceアノテーションを付与したインターフェースを定義し、ラムダ式で実装を代入できます。 MyFunc(); x.invoke(); }

  4. C#でJavaの二重中括弧初期化(Double Brace Initialization)と同じことを実現する方法

    Javaの「二重中括弧初期化(Double Brace Initialization)」は、C#では単一の中括弧を使ったコレクション初期化子(Collection Initializer)で同等の処理を実現できます。Javaの二重中括弧初期化は、オブジェクトの生成と初期化を1つの式でまとめて行える便利な記法です。ただし、内部的には匿名サブクラスを生成するため、シリアライズやequals比較などで意図しない挙動を引き起こす可能性がある点には注意が必要です。Javaでの二重中括弧初期化の例Javaでは次のように記述します。List<String> list = new ArrayLis

  5. C#の正規表現を使って文字列内の各単語の最初の文字を抽出・表示する方法

    C#では、正規表現(Regex)を活用することで、文字列から特定のパターンに一致する部分を簡単に抽出できます。この記事では、文字列内の各単語の最初の文字を取り出して表示する方法を解説します。対象となる文字列例として、次のような文字列を扱います。string str = The Shape of Water got an Oscar Award!;使用する正規表現パターン各単語の最初の文字を表示するには、次の正規表現を使用します。@\b[a-zA-Z]このパターンの構成要素は以下の通りです。\b:単語の境界(ワードバウンダリ)を表します。単語の先頭位置にマッチします。[a-zA-Z]:英字1文字

  6. C#のIntersectメソッドを使ってリストの共通要素を取得する方法

    C#では、LINQのIntersect()メソッドを使用することで、2つのコレクション(リスト)に共通して含まれる要素を簡単に取得できます。このメソッドは集合演算のひとつで、積集合(交差)を求める際に非常に便利です。リストを作成するまず、2つの整数型リストを作成します。var list1 = new List<int>{99, 87}; var list2 = new List<int>{56, 87, 45, 99};Intersect()メソッドで共通要素を取得する次に、Intersect()メソッドを呼び出して、上記2つのリストから共通する要素を取り出します。va

  7. C#で文字列内の各単語の頭文字を取得して表示する方法

    この記事では、C#を使って文字列内の各単語の最初の1文字(頭文字)だけを抽出し、表示する方法を解説します。例として、次のような文字列を扱います。string str = Never Give Up!;手順1:文字列を単語ごとに分割するまず、Split()メソッドを使って文字列を空白で分割し、各単語を配列として取得します。string[] strSplit = str.Split();手順2:各単語の頭文字を取り出して表示する次に、foreachループで配列内の各単語を順に処理し、Substring(0, 1)メソッドを使って先頭の1文字を取り出します。Substring(0, 1)は「0番目の

  8. C#で数値をカンマ区切り(3桁ごとの1000の区切り文字)で出力する方法

    C#では、大きな数値を見やすく表示するために、ToString()メソッドを使って3桁ごとにカンマを挿入できます。本記事では、小数点以下を含む数値を「1,000,000.8765」のような形式で整形する手順を、具体的なコード例とともに解説します。基本的な考え方まず、対象となる数値を文字列として用意します。string num = 1000000.8765;次に、整数部分(小数点より前)と小数部分(小数点以降)をそれぞれ別の変数に分けて扱います。string withoutDecimals = num.Substring(0, num.IndexOf(.)); string withDecima

  9. C#でnの倍数をm個出力する方法を解説

    C#である整数 n の倍数を、指定した個数(m 個)だけ順番に出力する方法を紹介します。基本的な考え方はシンプルで、ループ処理の中で n に 1, 2, 3... と順に掛けていき、その結果を表示するだけです。 手順1:変数の初期化 まず、基数となる n と、出力したい倍数の個数を管理するカウンター m の値を設定します。 int n = 6, m = 1; この例では、「6の倍数」を先頭から5つ求めることを目的としています。 手順2:whileループで繰り返し計算する 次に、m が5以下である間、ループを回します。各反復処理の中で n × m を計算して出力し、m をインクリメントしてい

  10. C++とC#におけるforeachループの使い方を徹底解説

    コレクションや配列の各要素を順番に処理したい場合、foreachループは非常に便利な構文です。従来のforループではインデックスの管理が必要でしたが、foreachを使えば要素そのものを直接取り出して処理できるため、コードがシンプルになり、バグも減らせます。この記事では、C++とC#それぞれにおけるforeachの書き方と実行例をわかりやすく解説します。 C++におけるforeach(範囲ベースforループ) C++には厳密には「foreach」という名前のキーワードは存在しませんが、C++11で導入された範囲ベースforループ(range-based for loop)が同等の機能を提供し

  11. C#でList内のすべての数値を乗算して積を求める方法

    C#でList(リスト)内のすべての数値を掛け合わせて積を求める方法を解説します。基本的な考え方はシンプルで、結果を格納する変数を「1」で初期化し、foreachループでリストの各要素を順番に掛けていくだけです。手順1:リストを作成するまず、乗算対象となる整数のリストを用意します。List<int> myList = new List<int>() { 5, 10, 7 };手順2:積を格納する変数を初期化する次に、計算結果を保持するための変数を「1」で初期化します。ここで注意したいのは、初期値を0にすると何を掛けても結果が0になってしまう点です

  12. C#で文字列に含まれるすべての母音をチェックするプログラムの書き方

    C#で文字列に含まれるすべての母音を確認するには、LINQの Where メソッドと Contains メソッドを組み合わせるのが最もシンプルで効率的な方法です。まず、対象の文字列から母音だけを抽出する条件を設定します。 aeiouAEIOU.Contains(chk)).Distinct(); ここでは、次のような英文(すべてのアルファベットを含むパングラム)を対象としています。 string str = the quick brown fox jumps over the lazy dog; Where メソッドで大文字・小文字の母音のみを絞り込み、Distinct() によって重複を除

  13. C#でソート済みの2つの配列をリストにマージする方法

    C#では、ソート済みの2つの配列を1つのリストに簡単にマージ(結合)することができます。この記事では、基本的な手順とサンプルコードを使って、その方法をわかりやすく解説します。 マージの手順 まず、マージ対象となる2つのソート済み配列を用意します。以下はその例です。 int[] array1 = { 1, 2 }; int[] array2 = { 3, 4 }; 次に、List<int> のインスタンスを作成し、forループを使って両方の配列の要素を交互にリストへ追加していきます。 var list = new List<int>(); for (int i

  14. C#で再帰を使って10進数を2進数に変換する方法

    10進数の値を2進数に変換するには、再帰(リカーシブ)処理を利用すると簡潔に実装できます。まずは、変換対象となる10進数の値を設定しましょう。int dec = 30;次に、この値を変換用のメソッドに渡します。public int displayBinary(int dec) { }ここからが再帰処理の核心部分です。10進数の値が0になるまで条件判定を繰り返し、その都度「10進数を2で割った余り(mod 2)」を計算します。再帰呼び出しの際には、dec / 2 の値を引数として同じメソッドを再度呼び出すことで、桁を一つずつ処理していきます。public int displayBinary(in

  15. C#でタプルを配列に変換する方法

    C#では、Tupleクラスを使って複数の値をひとつのオブジェクトとして扱うことができます。ここでは、作成したタプルの各要素(Item1、Item2)を取り出し、int型の配列へ変換する基本的な手順を紹介します。1. タプルを作成するまず、Tuple.Createメソッドを使用して、2つのint型の値を持つタプルを生成します。Tuple<int, int> t = Tuple.Create(99, 53);2. タプルを配列に変換する次に、タプルのプロパティであるItem1とItem2を参照して、新しいint型配列の要素として格納します。int[] arr = new int[] {

  16. C#で16進文字列を16進数値に変換する方法

    C#では、「7D」のような16進表記の文字列を簡単に数値へ変換できます。この記事では、Convert.ToSByte()メソッドとConvert.ToInt32()メソッドを使った2つの代表的な方法を、サンプルコード付きで解説します。 方法1:Convert.ToSByte()を使う まず、変換対象となる16進文字列を設定します。 string str = "7D"; 次に、Convert.ToSByte()メソッドの第2引数に基数「16」を指定して呼び出すことで、16進文字列を数値に変換できます。 Console.WriteLine(Convert.ToSByte(str

  17. C#で指定された文字列がヘテログラムかどうかを判定する方法

    ヘテログラムとは?ヘテログラム(Heterogram)とは、同じ文字が2回以上現れない文字列のことです。つまり、構成するすべての文字が一意である文字列を指します。例えば、以下のような単語はヘテログラムです。Mobile Cry Laptopこれらの単語には重複した文字が含まれていません。一方、「banana」や「apple」のように同じ文字が複数回出現する文字列は、ヘテログラムではありません。 判定ロジックの考え方判定には、アルファベット26文字分の出現フラグを格納する整数型配列を使用します。文字列の長さ分だけループ処理を行い、各文字に対応する配列要素をチェックしていきます。まだ出現していない

  18. C#で2つの文字列がアナグラム(Anagram)かどうかを判定する方法

    「アナグラム」とは、ある文字列に含まれるすべての文字が、別の文字列にも同じだけ含まれている状態を指します。文字の出現順序は異なっていても構いません。たとえば「silent」と「listen」は、同じ文字で構成されているため互いにアナグラムです。ここでは、次の2つの文字列がアナグラムであるかどうかをC#で確認する手順を見ていきましょう。string str1 = silent; string str2 = listen;アナグラム判定の基本的な考え方最もシンプルで分かりやすい方法は、両方の文字列をソートして比較することです。アナグラムであれば、文字を並べ替えた結果は必ず一致するためです。処理の手

  19. 2つ以上の辞書(Dictionary)の和集合(ユニオン)を求めるC#プログラム

    C#では、HashSetクラスのUnionWith()メソッドを使うことで、2つ以上の辞書(Dictionary)のユニオン(和集合)を簡単に求めることができます。この記事では、具体的な手順をサンプルコード付きでわかりやすく解説します。ステップ1:2つの辞書を用意するまず、和集合を求める対象となる2つの辞書を作成します。Dictionary<string, int> dict1 = new Dictionary<string, int>(); dict1.Add(water, 1); dict1.Add(food, 2); Dictionary<string,

  20. C#で複数のリストの和集合(ユニオン)を求める方法

    C#では、LINQのUnionメソッドを使用することで、2つ以上のリストの和集合(ユニオン)を簡単に求めることができます。Unionメソッドは、複数のコレクションを結合しながら、重複する要素を自動的に取り除いた結果を返してくれる便利な機能です。この記事では、3つのリストを例に、Unionメソッドを使って和集合を求める具体的な手順を解説します。1. リストの作成まず、和集合を求める対象となる3つのリストを作成します。//3つのリスト var list1 = new List<int>{3, 4, 5}; var list2 = new List<int>{1, 2, 3,

Total 2668 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:44/134  20-コンピューター/Page Goto:1 38 39 40 41 42 43 44 45 46 47 48 49 50