-
C#で10進数を8進数に変換する方法をわかりやすく解説
C#プログラミングにおいて、10進数の値を8進数に変換したい場面は少なくありません。本記事では、whileループと剰余演算を使った基本的な変換方法を、サンプルコードとともにわかりやすく解説します。 10進数から8進数への変換の仕組み 10進数を8進数に変換するには、以下の手順で処理を行います。 対象となる10進数の値に対してwhileループを実行し、8で割った余り(剰余)を8進数用の配列に格納します。 次に、その数値を8で割り、商を新たな対象の値として処理を繰り返します。 数値が0になった時点でループを終了し、格納した余りを逆順に出力すると、それが8進数表現となります。 変換処理のコア
-
C#で行列を転置する方法をわかりやすく解説
行列の転置(Transpose)とは行列の転置とは、行列を対角線を軸として反転させる操作のことです。この操作により、行の要素が列へ、列の要素が行へと入れ替わります。具体例を見てみましょう。転置前の行列: 1 2 3 4 5 6 7 8 9 転置後の行列: 1 4 7 2 5 8 3 6 9このように、元の行列の第1行「1 2 3」が転置後には第1列「1 4 7」ではなく「1, 2, 3」が縦方向に並ぶ形となり、行と列が完全に入れ替わっていることが確認できます。C#で行列を転置するサンプルコード以下は、C#で行列の転置を実現するプログラムの例です。ユーザーから行数・列数および各要素を入力しても
-
C#のタイプセーフ(型安全性)とは?仕組みと具体例をわかりやすく解説
C#におけるタイプセーフ(型安全性)とは、あるオブジェクトが別のオブジェクトのメモリ領域に不正に侵入することを防ぐための重要な言語機能です。この仕組みによって、異なる型同士の不適切な操作がコンパイル段階で検出され、実行時エラーや予期しないバグを未然に防ぐことができます。ここでは、具体的なコード例を使ってタイプセーフの概念を詳しく見ていきましょう。コード例:2つのクラスを定義するまず、以下のように2つのクラス「One」と「Two」を定義します。public class One { public int Prop { get; set; } } public class Two {
-
C#で使えるエスケープシーケンス一覧!サンプルコード付きで解説
エスケープシーケンスとは、文字列の中で特殊な意味を持つ制御文字を表現するための記法です。C#では、バックスラッシュ(\)に続けて特定の文字を組み合わせることで、警告音やタブ、改行などを簡単に扱うことができます。以下は、C#で代表的なエスケープ文字を実際に出力するサンプルコードです。サンプルコードusing System; using System.Collections.Generic; class Demo { static void Main() { // ベル文字(警告音)を出力 Console.WriteLine(Warning! + \u0
-
C#の隠れた便利機能とは?知っておきたい4つの活用テクニック
C#には、日常的な開発で見落とされがちですが、使いこなすとコードをより簡潔かつ安全にできる「隠れた」便利な機能が数多く存在します。ここでは、特に実用性の高い4つの機能をわかりやすく解説します。1. ラムダ式(Lambda Expressions)ラムダ式は、匿名関数を簡潔に記述するための構文です。式の中で => というトークンを使用し、これは「ゴーズ・トゥ(goes to)演算子」と呼ばれます。左辺に入力パラメータ、右辺に処理内容や戻り値となる式を書きます。// 例:リストから偶数だけを抽出する var evenNumbers = numbers.Where(n => n % 2
-
C#のArrayクラスが実装するインターフェイスとは?ICloneableによるクローン作成を解説
System.Arrayが実装する主なインターフェイス C#の System.Array クラスは、ICloneable、IList、ICollection、IEnumerable など、複数の標準インターフェイスを実装しています。これらのインターフェイスによって、配列はコピー・列挙・コレクション操作など、さまざまな場面で柔軟に扱えるようになっています。 本記事では、その中でも特に重要な ICloneable インターフェイスに焦点を当て、オブジェクトや配列の複製(クローン)方法をサンプルコードとともに解説します。 ICloneableインターフェイスとは ICloneableインターフェイ
-
C#学習の始め方|必要な前提条件と開発環境の準備ガイド
C#を学習するための前提条件 C#の学習を始めるにあたって、まず必要となるのは基本的なコンピュータに関する知識です。パソコンの基本操作やファイル管理などを問題なくこなせるレベルであれば、十分にスタートできます。 さらに、C言語やC++などのプログラミング経験があれば、C#の文法や考え方をよりスムーズに理解できるでしょう。これらの言語はC#と共通する部分が多く、学習の大きな助けになります。もちろん、プログラミング未経験からでもC#の習得は十分可能です。 ステップ1:Visual Studioをインストールする C#での開発を本格的に始めるなら、まず統合開発環境(IDE)であるVisual S
-
C#におけるクラス命名のルールと規約を徹底解説
C#では、クラス定義はキーワード class に続けてクラス名を記述し、波括弧({ })で囲まれたクラス本体を続ける形で始まります。 クラス定義の基本構文 クラス定義の一般的な構文は以下の通りです。 <access specifier> class class_name { // メンバー変数 <access specifier> <data type> variable1; <access specifier> <data type> variable2; ... <access spe
-
C#のトークンとは?キーワードと識別子の基本をわかりやすく解説
トークン(Token)とは、プログラムを構成する最小単位の要素のことです。C#におけるトークンの代表例として、キーワードと識別子があります。それぞれの特徴とルールについて詳しく見ていきましょう。 キーワード(予約語)とは キーワードは、C#コンパイラによってあらかじめ定義された予約語です。そのため、変数名やクラス名などの識別子として使用することはできません。 ただし、どうしてもキーワードを識別子として使いたい場合は、キーワードの先頭に「@」記号を付けることで回避できます。例えば「@class」のように記述すれば、classという名前の変数を定義できます。 C#の主な予約キーワード一覧 ab
-
C#で最も単純な多次元配列とは?2次元配列の基本と使い方を解説
C#で最も単純な多次元配列は?C#における最も単純な多次元配列は2次元配列です。2次元配列は、x行×y列からなる表(テーブル)としてイメージすると理解しやすいでしょう。多次元配列の初期化方法多次元配列は、各行の値を波括弧 { } で囲んで指定することで初期化できます。以下は、4行×4列の2次元配列を宣言して初期化する例です。int[] a = new int[4, 4] { {0, 1, 2, 3}, /* 0行目の初期化子 */ {4, 5, 6, 7}, /* 1行目の初期化子 */ {8, 9, 10, 11}, /* 2行目の初期化子 */
-
C#の2次元配列とは?宣言・初期化・操作方法をわかりやすく解説
C#における2次元配列とは、1次元配列をリスト状にまとめたデータ構造のことです。行と列を持つ表形式のデータ(例:マトリックスやグリッド)を扱う際に非常に便利です。 2次元配列の宣言と初期化 2次元配列は、各行の値を波括弧 { } で囲んで指定することで初期化できます。以下は、2行2列のint型2次元配列を宣言し、同時に初期値を設定する例です。 int[] a = new int[2, 2] { {0, 1}, {4, 5} }; このように書くことで、a[0,0]=0、a[0,1]=1、a[1,0]=4、a[1,1]=5 というように、行と列の組み合わせで各要素にアクセスでき
-
C#の型(データ型)とは?値型・参照型・ポインタ型の違いをわかりやすく解説
C#における「型」とは、変数が扱うデータの種類を定義する重要な概念です。適切な型を選ぶことで、メモリの効率的な利用や安全なプログラミングが実現できます。C#の型は、大きく分けて以下の3つに分類されます。値型(Value Types)値型の変数には、データそのものを直接代入することができます。すべての値型は、System.ValueTypeクラスから派生しています。値型は変数の中に実際のデータを直接保持するのが特徴です。代表的な例としては、整数を扱う int、文字を扱う char、浮動小数点数を扱う float などが挙げられます。たとえば int 型の変数を宣言すると、システムはその値を格納す
-
C#のMathクラス徹底解説!主要メソッド一覧と絶対値の取得方法
C#のMathクラスとはC#のSystem.Mathクラスは、数学的な演算を行うための便利なメソッドやプロパティを提供する静的クラスです。三角関数、対数計算、指数計算、丸め処理、絶対値の取得など、日常的な数値処理に必要な機能がひと通り揃っています。ここでは、Mathクラスの中でも特によく使われる主要なメソッドを一覧形式でご紹介します。Mathクラスの主なメソッド一覧No.メソッドと説明1Abs(Decimal)10進数(Decimal)の絶対値を返します。2Abs(Double)倍精度浮動小数点数(Double)の絶対値を返します。3Abs(Int16)16ビット符号付き整数(Int16)の絶
-
C#の正規表現で使えるエスケープ文字の一覧まとめ
C# の正規表現では、タブや改行などの特殊な文字を表現するために、さまざまなエスケープ文字(エスケープ シーケンス)が用意されています。ここでは、C# で利用できる主なエスケープ文字を、意味と使用例(パターン)とともに一覧形式で紹介します。 C# のエスケープ文字一覧 エスケープ文字説明パターン例 \aベル文字(\u0007)に一致します。\a \b文字クラス内でバックスペース(\u0008)に一致します。[\b]{3} \tタブ(\u0009)に一致します。(\w+)\t \rキャリッジリターン(\u000D)に一致します。※ \r は改行文字 \n とは異なる点に注意してください。
-
C#のループ処理をマスター!while・for・do...while・foreachの使い方
ループ文(繰り返し処理)とは、特定の文や文のブロックを何度も実行するための構文です。条件に応じて同じ処理を効率よく繰り返せるため、プログラミングにおいて欠かせない要素となっています。 C#で利用できる主なループ構文は以下のとおりです。 C#で使えるループの種類 番号ループの種類と説明 1whileループ指定した条件がtrueである間、文または文のグループを繰り返し実行します。ループ本体を実行する前に条件を判定するのが特徴です。 2forループ一連のステートメントを複数回実行します。ループ変数の初期化・条件判定・更新を1行にまとめて記述できるため、コードが簡潔になります。 3do...w
-
C#で対数(Log)関数を使う方法
C#では、Mathクラスに用意されたメソッドを使うことで、対数(ログ)を簡単に計算できます。自然対数(底e)だけでなく、常用対数(底10)や任意の底を持つ対数も求められます。主な対数メソッド一覧番号メソッドと説明1Log(Double)指定した数値の自然対数(底e)を返します。2Log(Double, Double)指定した数値の、指定した底における対数を返します。3Log10(Double)指定した数値の常用対数(底10)を返します。それでは、C#で対数関数を使用する具体的な例を見てみましょう。サンプルコードusing System; class Demo { static voi
-
【C#】Directoryクラスでディレクトリとファイルを一覧表示・操作する方法
C#のDirectoryクラスとはC#のDirectoryクラス(System.IO名前空間)には、ディレクトリやサブディレクトリに対してさまざまな操作を行うためのメソッドが多数用意されています。ここでは、特によく使われる主要なメソッドを紹介します。番号メソッドと説明1CreateDirectory(String)指定したパスにすべてのディレクトリとサブディレクトリを作成します(すでに存在する場合は何もしません)。2CreateDirectory(String, DirectorySecurity)指定したWindowsセキュリティ設定を適用しながら、指定したパスにすべてのディレクトリを作成し
-
C#の文字列で使える論理演算子(&&・||・!)の基本と実装例
C#の文字列で使える論理演算子とは C#では、文字列を含むさまざまなデータに対して論理演算子を使用できます。主な論理演算子には「&&(論理AND)」「||(論理OR)」「!(論理NOT)」の3種類があります。 それぞれの演算子の動作を、以下の表にまとめました。 演算子説明使用例 &&論理AND演算子。両方のオペランドが真(非ゼロ)である場合に、条件全体がtrueになります。(A && B) は false ||論理OR演算子。2つのオペランドのうち、どちらか一方でも真(非ゼロ)であれば、条件全体がtrueになります。(A || B) は tr
-
C#のMathクラス徹底解説!絶対値・三角関数などの数学関数の使い方
C#では、System.Mathクラスを使うことで、絶対値や三角関数、対数計算など、さまざまな数学的操作を簡単に実行できます。このクラスは静的(static)メンバーのみを提供しているため、インスタンス化せずに直接呼び出せるのが特徴です。 Mathクラスの主なメソッド一覧 System.Mathクラスには多数のメソッドが用意されています。ここでは、特によく使われる代表的なメソッドを紹介します。 No.メソッドと説明 1Abs(Decimal)Decimal型(10進数)の数値の絶対値を返します。 2Abs(Double)倍精度浮動小数点数(double)の絶対値を返します。 3Ab
-
C#のコピーコンストラクターとは?基本の仕組みと実装例をわかりやすく解説
コピーコンストラクター(Copy Constructor)とは、既存のオブジェクトが持つ変数(フィールド)の値をコピーして、新しいオブジェクトを生成するためのコンストラクターです。C++では言語機能として自動的に用意されますが、C#では開発者が自分で定義する必要があります。 コピーコンストラクターの基本的な考え方 コピーコンストラクターは、引数として同じクラスのオブジェクトを受け取り、そのオブジェクトが保持している値を新しいインスタンスへ複製します。これにより、元のオブジェクトに影響を与えることなく、独立したコピーを作成することが可能になります。 サンプルコード using System;