C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C#の16進数(X)形式指定子とは?使い方とサンプルコードをわかりやすく解説

    16進数(X)形式指定子とは C#の標準数値書式指定文字列の一つである「X」(または「x」)形式指定子は、整数値を16進数表記の文字列へと変換するために使用されます。デバッグ時の値確認やビット演算の結果表示、データのダンプ出力など、さまざまな場面で役立つ便利な書式です。 大文字と小文字の違い 形式指定子に使うアルファベットの大文字・小文字によって、9より大きい16進数の桁(A〜F)の出力形式が変わります。 「X」:大文字で出力される(例:149A8C80) 「x」:小文字で出力される(例:149a8c80) つまり、「X」を指定すれば ABCDEF のような大文字、「x」を指定すれば a

  2. C#でランダムな文字列を生成する方法を初心者向けに解説

    C#でランダムな文字列を生成したい場面は意外と多くあります。パスワードの一時発行やテストデータの作成など、実は標準ライブラリだけでも簡単に実装可能です。本記事では、RandomクラスとStringBuilderを組み合わせて、ランダムな英大文字(A〜Z)からなる文字列を作成する方法を、手順ごとにわかりやすく解説します。 1. StringBuilderで文字列の受け皿を用意する まず、生成した文字を順番に連結していくための入れ物として、StringBuilderのインスタンスを作成します。 StringBuilder str = new StringBuilder(); 2. Randomクラ

  3. C#で名前付きValueTupleを作成する方法

    C# 7以降では、各要素に名前を付けたValueTuple(値タプル)を簡単に作成できます。要素に名前を付けることで、Item1やItem2といったインデックスではなく、意味の分かる名前でタプルの各要素へアクセスでき、コードの可読性が大幅に向上します。 注意: ValueTupleを使用したプログラムを実行するには、事前に System.ValueTuple パッケージをプロジェクトに追加しておく必要があります。 System.ValueTupleパッケージの追加手順 Visual Studioで対象のプロジェクトを開きます。 ソリューションエクスプローラーでプロジェクトを右クリックします。

  4. C#ではなぜHashtableよりもDictionaryが推奨されるのか?その理由を解説

    C#でキーと値のペアを扱うコレクションとして、Hashtable(ハッシュテーブル)とDictionary<TKey, TValue>(辞書)の2つが挙げられます。どちらもキーに基づいて要素へアクセスできる点は共通していますが、実際の開発ではDictionaryが優先されるのが一般的です。本記事では、その理由をパフォーマンスと型安全性の観点から解説します。HashtableとDictionaryの基本HashtableとはHashtableは、キーのハッシュコードをもとに整理された、キーと値のペアのコレクションです。キーを使ってコレクション内の要素にアクセスします。System.C

  5. C#の#regionディレクティブとは?使い方と活用すべき場面を解説

    #region は、C#でコードの特定ブロックを「領域(リージョン)」として指定するためのプリプロセッサ ディレクティブです。Visual Studio のコード エディターが持つ「アウトライン(折りたたみ)機能」を使う際に、この領域を展開したり折りたたんだりできるようになります。長いコード ファイルを読みやすく整理したいときに非常に便利です。 なお、#region で開始した領域は、必ず #endregion で終了する必要があります。対応関係が崩れるとコンパイル エラーになるため注意しましょう。 #regionの基本的な使い方 #region の後ろには任意の名前を付けることができます。こ

  6. C#で2つ以上の文字列オブジェクトを連結する演算子とは?

    C#において、2つ以上の文字列(string)オブジェクトを連結するには、+ 演算子を使用します。+ 演算子は最もシンプルで直感的な文字列連結の方法であり、複数の文字列や文字配列から作成した文字列を自由に組み合わせることができます。文字列オブジェクトの作成まず、char型の配列から最初の文字列オブジェクトを作成します。char[] c1 = { H, e, n, r, y }; string str1 = new string(c1);続いて、2つ目の文字列オブジェクトも同様に作成します。char[] c2 = { J, a, c, k }; string str2 = new string(

  7. C#でシーケンス(連番)から欠落している数字を検索する方法

    C#で数値のリストから欠落している数字(連番の抜け)を見つける方法を解説します。LINQのEnumerable.RangeとExceptメソッドを組み合わせることで、シンプルかつ効率的に実装できます。 手順1:リストを作成する まず、対象となる整数のリストを用意します。 List<int> myList = new List<int>(){1, 2, 3, 5, 8, 9}; 手順2:最小値と最大値を取得する 次に、OrderByでリストを並べ替え、最初(最小値)と最後(最大値)の要素を取得します。 int a = myList.OrderBy(x => x).F

  8. C#で2つのリストの共通要素を取得する方法(Intersectメソッドの使い方)

    C#では、LINQのIntersect()メソッドを使うことで、2つのリストに共通する要素(積集合)を簡単に取得できます。この記事では、具体的なコード例とともにその使い方を解説します。1. 2つのリストを用意するまず、比較対象となる2つのリストを作成します。List<int> val1 = new List<int> { 25, 30, 40, 60, 80, 95, 110 }; List<int> val2 = new List<int> { 27, 35, 40, 75, 95, 100, 110 };2. Intersect()メソッドで

  9. C#のConvert.ToInt16メソッドの使い方を解説

    C#のConvert.ToInt16メソッドを使うと、指定した値を16ビット符号付き整数(short型)に変換することができます。基本的な使い方まず、double型の変数に値を初期化して代入してみましょう。double doubleNum = 3.456;この値をInt16、つまりshort型に変換します。変換にはConvert.ToInt16メソッドを使用します。short shortNum; shortNum = Convert.ToInt16(doubleNum);小数点以下の値は四捨五入されて整数に変換される点に注意してください。上記の例では3.456が3に変換されます。サンプルコード

  10. C#のConvert.ToUInt16メソッドで文字列を16ビット符号なし整数に変換する方法

    C#では、Convert.ToUInt16メソッドを使用することで、指定した値を16ビット符号なし整数(ushort型)に変換することができます。 まず、変換対象となる文字列を用意します。 string str = 1129; この文字列を、Convert.ToUInt16メソッドを使って16ビット符号なし整数へ変換してみましょう。 ushort res; res = Convert.ToUInt16(str); 以下に、完全なサンプルプログラムを示します。 サンプルコード using System; public class Demo { public static void Ma

  11. C#のEnumerable.Repeatメソッドの使い方を徹底解説

    C#のEnumerable.Repeatメソッドは、System.Linq名前空間に含まれる拡張メソッドの一つです。指定した要素を任意の回数だけ繰り返したコレクション(IEnumerable<T>)を簡単に生成できるため、初期化処理やテストデータの作成などで非常に便利です。基本構文Enumerable.Repeatメソッドの構文は以下のとおりです。Enumerable.Repeat(繰り返す要素, 繰り返す回数);第1引数には繰り返したい要素を、第2引数にはその繰り返し回数を指定します。使用例:数値を5回繰り返す例として、数値「10」を5回繰り返すコレクションを作成してみましょう。

  12. C#のAggregate()メソッドとは?シード値を使った累積処理の基本を解説

    C#のAggregate()メソッドは、LINQの機能の一つで、シーケンス(要素の集まり)に対してアキュムレータ関数(累積関数)を順番に適用し、単一の結果を求めるためのメソッドです。合計値の計算や最大・最小の抽出など、さまざまな集計処理に活用できます。まず、次のような文字列配列を用意します。string[] arr = { DemoOne, DemoTwo, DemoThree, DemoFour};次に、Aggregate()メソッドを使用します。比較の基準となるシード値として「DemoFive」を設定しています。string res = arr.AsQueryable().Aggregat

  13. C#でInt64を2進数(バイナリ)文字列として表現する方法

    C#でInt64(long型)の値をバイナリ(2進数)文字列として表現するには、Convert.ToString()メソッドを使用し、第2引数に基数「2」を指定します。なお、Int64は64ビットの符号付き整数を表すデータ型です。基本的な使い方まず、Int64型(long型)の変数を用意します。long val = 753458;続いて、Convert.ToString()メソッドの第2引数に「2」を渡して呼び出すことで、値を2進数の文字列に変換できます。Convert.ToString(val, 2)サンプルコードusing System; class Demo { static v

  14. C#のAll()メソッドとは?使い方とサンプルコードをわかりやすく解説

    All()メソッドは、LINQに用意されている便利な拡張メソッドの一つで、コレクション内のすべての要素が指定した条件を満たしているかどうかをチェックし、結果をブール値(bool)として返します。判定ルールはシンプルです。すべての要素が条件を満たしていれば True を返しますが、1つでも条件を満たさない要素が存在する場合は False を返します。All()メソッドの基本的な使い方まず、次のような整数型の配列を用意してみましょう。int[] arr = {10, 15, 20};この配列に対してAll()メソッドを使い、「すべての要素が5より大きいかどうか」を確認してみます。arr.AsQue

  15. C#で文字列から重複する文字を削除する方法(HashSetの活用)

    C#では、HashSet<char> を利用することで、文字列に含まれる重複した文字を非常に簡単に取り除くことができます。本記事では、その基本的な考え方と具体的なサンプルコードを紹介します。 重複除去の基本的な考え方 まず、次のような文字列を用意します。 string str = "ppqqrr"; この文字列には「p」「q」「r」がそれぞれ2回ずつ含まれています。ここで、文字列を char 型として HashSet にマッピングします。HashSet は「同じ要素を1つしか保持しない」という特性を持つコレクションのため、この操作だけで重複文字が自動的に除去さ

  16. C# LINQ Distinct()メソッドでリストから重複要素を削除する方法

    C#のLINQで重複しない要素(一意の値)だけを取得したい場合は、Distinct()メソッドを使用します。このメソッドは、シーケンス内の重複する要素を取り除き、各要素を1度だけ返してくれます。 重複要素を含むリストの準備 まずは、重複した要素を含むリストを用意しましょう。 List<int> points = new List<int> { 5, 10, 5, 20, 30, 30, 40, 50, 60, 70 }; このリストには「5」と「30」がそれぞれ2回含まれています。 Distinct()メソッドで重複を除去する 重複を除いた要素を取得するには、次のように

  17. C#のQueryable LongCountメソッドで要素数を取得する方法

    C#のLINQには、シーケンス内の要素数を取得するためのLongCountメソッドが用意されています。LongCountは戻り値がlong型である点が特徴で、要素数がint型(Int32)の最大値を超える可能性がある大きなコレクションを扱う場合に特に便利です。ここでは、QueryableのLongCountメソッドを使って配列の要素数を取得する方法を解説します。サンプルデータの準備まず、次のような文字列型の配列を用意します。string[] emp = { Jack, Mark };LongCountメソッドの呼び出し方AsQueryable()メソッドで配列をIQueryableに変換し、そ

  18. C#でfloatを宣言する際に「f」サフィックスが必要な理由とは?

    C#でfloat型の変数に小数リテラルを代入する際、数値の末尾に小文字の「f」を付ける必要があります。これは「fサフィックス(接尾辞)」と呼ばれるもので、コンパイラに対して「このリテラルはfloat型である」と明示的に伝える役割を持っています。なぜ「f」が必要なのかC#では、小数点を含む数値リテラルはデフォルトでdouble型として扱われます。そのため、「f」を付けずにfloat型の変数へ直接代入しようとすると、double型からfloat型への暗黙的な変換は許可されていないため、コンパイルエラーが発生します。例えば、以下のコードはエラーになります。float val = 30.22; //

  19. C#のThreadクラス入門:Join・Sleep・Abortメソッドの使い方を徹底解説

    C#でマルチスレッドプログラミングを行う際、System.Threading名前空間のThreadクラスが提供するJoin、Sleep、Abortの各メソッドは、スレッドの動作を制御するための基本的な機能です。本記事では、それぞれのメソッドの役割と実際のコード例を通じて、その使い方を詳しく解説します。 Joinメソッドとは Joinメソッドは、呼び出し元のスレッドをブロックし、対象のスレッドが終了するまで待機させます。待機中も標準的なCOMおよびSendMessageのポンプ処理は継続して実行されるため、UIスレッドなどでも安全に利用できます。また、このメソッドには複数のオーバーロードが用意さ

  20. C#におけるネストされたタプル(入れ子のタプル)の作成方法と要素へのアクセス

    C#では、タプルの中にさらに別のタプルを格納することができます。これを「ネストされたタプル(入れ子のタプル)」と呼びます。ここでは、ネストされたタプルの作成方法と、その要素へアクセスする方法を解説します。 ネストされたタプルの宣言 まず、ネストされたタプルを宣言してみましょう。以下の例では、Tuple.Createメソッドを使用して、7番目の要素として別のタプルを含むタプルを作成しています。 var tuple = Tuple.Create(100, 200, 300, 400, 500, 600, Tuple.Create(720, 750, 780), 800); 上記のコードでは、

Total 2668 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:55/134  20-コンピューター/Page Goto:1 49 50 51 52 53 54 55 56 57 58 59 60 61