C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C#の共変性と反変性とは?初心者向けに基本概念をわかりやすく解説

    はじめに C#でクラスを効果的に扱うためには、「共変性」と「反変性」という概念を理解しておくことが非常に役立ちます。これらは一見とっつきにくい言葉ですが、仕組みをつかめば型の扱いがぐっと柔軟になり、コードの再利用性も高まります。 継承関係を持つサンプルクラス まずは、以下のように3つのクラスを定義してみましょう。「Two」は基底クラス「One」を継承した派生クラスであり、さらに「Three」は「Two」を継承しています。 class One { } class Two: One { } class Three : Two { } つまり、継承の階層は「One → Two → Thre

  2. 【C#】文字列からn番目の文字を削除する方法

    C#で文字列から特定の位置にある文字を削除したい場合は、Remove()メソッドを使用します。このメソッドでは、削除を開始するインデックス位置と、削除する文字数を指定できます。基本的な使い方まず、対象となる文字列を設定します。string str1 = "Amit"; Console.WriteLine("Original String: "+str1);次に、StringBuilderを作成し、4番目の位置(インデックス3)にある文字を1文字削除します。なお、C#のインデックスは0から始まるため、先頭の文字がインデックス0に相当することに注意してくださ

  3. C#のArrayListクラスにおけるItemプロパティの使い方を解説

    C#のArrayListクラスには、指定したインデックス位置にある要素を取得・設定するためのItemプロパティが用意されています。このプロパティを使うことで、ArrayList内の任意の位置の要素に簡単にアクセスできます。ItemプロパティはインデクサーItemプロパティは実質的にインデクサー(indexer)として実装されているため、プロパティ名を明示的に記述しなくても、配列と同じように角括弧「[]」を使って要素にアクセスできます。例えば、以下のように記述するだけで、2番目の要素(インデックス1)の値を取得できます。Console.WriteLine(Element {0} is \{1}\

  4. C#で2つの整数を受け取り、余りを返すプログラムの作成方法

    C#では、剰余演算子「%」を使うことで、2つの整数を割り算した際の余り(剰余)を簡単に求めることができます。この記事では、例外処理を組み込んだ安全な剰余計算プログラムの実装方法を解説します。1. 2つの数値を設定するまず、計算対象となる2つの整数を変数に設定します。int one = 250; int two = 200;2. 剰余を返す関数を作成する次に、受け取った2つの数値から余りを計算して返すメソッドを定義します。public int RemainderFunc(int val1, int val2) {    if (val2 == 0)    

  5. 【C#】BitArrayクラスのIsReadOnlyプロパティとは?意味と使い方を解説

    BitArrayクラスとはBitArrayクラスは、ビット値(true/false)の集合を扱うためのコレクションクラスです。格納するビット数が事前に確定していない場合でも利用でき、動的にビット列を管理したいときに便利です。IsReadOnlyプロパティとはIsReadOnlyプロパティを使うと、対象のBitArrayが読み取り専用かどうかを示すbool型の値を取得できます。読み取り専用の場合はtrue、書き込み可能な場合はfalseが返されます。読み取り専用のコレクションでは、生成後に新しい要素を追加したり、既存の要素を変更したりすることはできません。なお、BitArrayクラスの場合、この

  6. C#で2つの行列を加算するプログラムの作成方法

    C#では、2次元配列を使うことで行列を簡単に扱うことができます。この記事では、ユーザーが入力した2つの3×3行列を読み込み、対応する要素同士を足し合わせた結果を出力するプログラムを解説します。 まず、入力用の行列2つと、計算結果を格納するための配列1つ、合計3つの2次元配列を宣言します。 int[] arr1 = new int[20, 20]; int[] arr2 = new int[20, 20]; int[] arr3 = new int[20, 20]; 今回は3×3の正方行列(合計9要素)を扱うため、行数・列数を表す変数 n に 3 を設定します。ユーザーからの入力は Consol

  7. C#のHashtableクラスにおけるKeysプロパティとは?使い方を解説

    C#のHashtableクラスにおけるKeysプロパティは、Hashtableに登録されているすべてのキーを格納したICollectionを取得するためのプロパティです。このプロパティを利用することで、コレクション内の全キーをまとめて取り出すことができます。以下のコードでは、foreachループを使ってコレクションを順に処理し、すべてのキーを取得・表示しています。foreach (int k in h.Keys) { Console.WriteLine(k); }このコードを実行すると、Hashtableに登録されたすべてのキーが次のように表示されます。使用例using System;

  8. C#のネストされたクラス(入れ子クラス)とは?基本と使い方を解説

    C#におけるネストされたクラス(入れ子クラス)とは、別のクラス=外側のクラス(enclosing class)の中で宣言されたクラスのことです。ネストされたクラスは外側のクラスの一つのメンバーとして扱われますが、注意すべき点として、外側のクラスのメンバーからネストされたクラスのメンバーへ直接アクセスすることはできません。ネストされたクラスのコード例以下は、C#でネストされたクラスを使用したサンプルコードです。class One { public int num1; // Oneクラスの中で宣言されたネストされたクラス public class Two {

  9. C#で暗号学的に安全な乱数を生成する方法:RNGCryptoServiceProviderクラスの使い方

    暗号学的に安全な乱数を生成するには、RNGCryptoServiceProviderクラスを使用します。このクラスはSystem.Security.Cryptography名前空間に属しており、暗号処理に対応した乱数ジェネレーター(CSPRNG)を実装しています。通常のRandomクラスとは異なり、予測が極めて困難な高品質な乱数を取得できるため、トークンやキーの生成など、セキュリティが求められる場面に適しています。以下は、このクラスを使ってランダムな値を取得する基本的なコード例です。using (RNGCryptoServiceProvider crypto = new RNGCryptoSe

  10. C#のインターフェイス型とは?代表的なインターフェイスと実装例を解説

    インターフェイス(interface)は、プロパティ、メソッド、イベントといったメンバーを定義するための仕組みです。ただし、インターフェイスにはメンバーの宣言のみが含まれ、実際の処理(実装)は含まれません。実装は、そのインターフェイスを継承したクラス側で行います。 C#の主なインターフェイス型 C#には、コレクション操作などでよく使われる代表的なインターフェイスが多数用意されています。以下にその一部を紹介します。 IEnumerable ― すべてのジェネリックコレクションの基本となるインターフェイス。 IList ― 配列や List 型などが実装する、インデックスによる要素アクセスを可能

  11. C#で継承クラスのオブジェクトを作成する方法

    C#では、クラスは1つの基底クラスと、複数のインターフェースから派生することができます。派生クラスは、基底クラスのメンバー変数やメンバー メソッドをそのまま引き継ぐことが可能です。そのため、基底クラス(スーパークラス)のオブジェクトは、派生クラス(サブクラス)よりも先に初期化されている必要があります。C#では、派生クラスのコンストラクターの後ろに : base(...) という形式で基底クラスの初期化リストを記述することで、スーパークラスの初期化処理を明示的に指示できます。以下の例では、継承関係にあるクラスのオブジェクトを実際に作成し、動作を確認しています。コード例using System;

  12. C#でNullable(null許容)DateTimeを使う方法

    C#において、DateTimeは値型であるため、通常はnullを代入することができません。しかし、null許容型(Nullable型)を使用すると、DateTime型の変数にnullリテラルを代入できるようになります。null許容のDateTimeは、型名の後ろに疑問符(?)を付ける次の構文で宣言します。DateTime?以下は、Nullable DateTimeを実装するサンプルコードです。コード例using System; class Program { static void Main() { DateTime? dt = null; DateFu

  13. C#のSortedListクラスにおけるIsFixedSizeプロパティの使い方を解説

    C#のSortedListクラスには、コレクションが固定サイズかどうかを判定するためのIsFixedSizeプロパティが用意されています。このプロパティはbool型の値を返し、サイズが固定されている場合はtrue、要素の追加や削除が可能な場合はfalseを返します。ここでは、実際のコード例を通して、IsFixedSizeプロパティの基本的な使い方を紹介します。サンプルコードusing System; using System.Collections; namespace Demo { class Program { static void Main(string[] a

  14. C#で楕円を描く方法:GraphicsクラスのDrawEllipse()メソッドの使い方

    C#で楕円を描画するには、Graphicsクラスが提供するDrawEllipse()メソッドを使用します。このメソッドは、線の色や太さを指定するPenオブジェクトと、楕円の位置およびサイズを定義するRectangleオブジェクトを引数として受け取ります。前提条件C#で図形を描画するには、Windowsフォームアプリケーションが必要です。Visual Studioで新しい「Windowsフォームアプリ」プロジェクトを作成し、フォーム上に描画処理を実装していきましょう。手順1:Graphicsオブジェクトを作成するまず、描画処理を行うためのGraphicsオブジェクトを作成します。Graphics

  15. C#における比較演算子の連鎖(チェーン)の仕組みを徹底解説

    C#における比較演算子の連鎖とは C#には、左結合(左から右へ評価される)と右結合(右から左へ評価される)の両方の結合規則を持つ演算子が数多く存在します。本記事では、比較演算子を連鎖(チェーン)させた場合に、どのような順序で評価されるのかを詳しく解説します。 演算子の連鎖と結合規則の関係 演算子の連鎖がどのように処理されるかは、同じ優先順位を持つ演算子同士の左から右への結合規則に依存します。つまり、優先順位が同じ演算子が並んでいる場合、式は必ず左側から順番に評価されていきます。 演算子の優先順位とは 演算子の優先順位は、式の中で項がどのようにグループ化されるかを決定するルールであり、式の評

  16. C#入門:文字定数(文字リテラル)と文字列リテラルの使い方

    文字定数(文字リテラル)とはC#における文字定数(文字リテラル)は、単一引用符()で囲んで表します。たとえば x のように記述し、char 型の変数に格納することができます。文字リテラルとして指定できるのは、主に次の3種類です。通常の文字:例:x、Aエスケープシーケンス:例:\t(タブ)、\n(改行)Unicodeエスケープシーケンス:例:\u02C0C#では、バックスラッシュ(\)で始まる一部の文字には特別な意味があります。これらは「エスケープシーケンス」と呼ばれ、改行(\n)やタブ(\t)のように、キーボードから直接入力しにくい特殊な文字を表現するために使われます。サンプルコードusing

  17. C#のSortedListクラスにおけるIsReadOnlyプロパティの使い方と意味を解説

    C#のSortedListクラスのIsReadOnlyプロパティとは?IsReadOnlyプロパティは、SortedListオブジェクトが読み取り専用かどうかを示すbool型(true / false)の値を取得するためのプロパティです。読み取り専用の場合は「True」、要素の追加や削除が可能な通常の状態であれば「False」が返されます。このプロパティを活用することで、コレクションに対して変更操作を行う前に、その操作が許可されているかどうかを事前に確認できます。SortedListの作成と要素の追加まず、SortedListのインスタンスを作成します。SortedList s = new S

  18. C#でファイルが隠しファイル(非表示)かどうかを確認する方法

    ファイルの属性を取得するには C#でファイルの属性を取得するには、FileAttributes列挙型を使用します。この列挙型には、Compressed(圧縮)、Directory(ディレクトリ)、Hidden(隠しファイル)など、さまざまなメンバーが定義されており、ファイルやフォルダーの状態を表すことができます。 隠しファイルかどうかを判定する手順 ファイルが隠しファイル(非表示)になっているかどうかを確認するには、Hiddenメンバーを使用します。FileAttributes.Hiddenが設定されている場合、そのファイルは非表示状態であることを意味します。 まず、属性を調べたいファイルの

  19. C#でファイルが存在するかどうかを確認する方法

    C#でファイルの存在を確認するには、File.Existsメソッドを使用します。このメソッドは、指定したパスにファイルが存在する場合は true を、存在しない場合は false を返します。カレントディレクトリ内のファイルを確認するまず、現在のディレクトリ(カレントディレクトリ)にファイルが存在するかどうかを確認する基本的な例を見てみましょう。if (File.Exists(MyFile.txt)) { Console.WriteLine(The file exists.); }特定のディレクトリ内のファイルを確認する次に、フルパスを指定して、特定のディレクトリ内にファイルが存在する

  20. C#のHashtableクラスのIsFixedSizeプロパティとは?使い方を解説

    C#のHashtableクラスには、コレクションが固定サイズかどうかを判定するためのIsFixedSizeプロパティが用意されています。このプロパティは、Hashtableのサイズが固定されている場合にtrue、要素の追加や削除が可能な場合にfalseを返します。通常、newキーワードで生成したHashtableは固定サイズではないため、このプロパティはFalseを返します。以下に、IsFixedSizeプロパティの基本的な使い方を示します。サンプルコードusing System; using System.Collections; namespace Demo {    

Total 2668 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:69/134  20-コンピューター/Page Goto:1 63 64 65 66 67 68 69 70 71 72 73 74 75