C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C#でインターネットに接続しているかどうかを確認する方法

    C#でマシンがインターネットに接続されているかどうかを確認する方法はいくつかあります。その中でよく使われるのが、System.Net名前空間です。この名前空間には、URIで識別されるリソースとの間でデータを送受信するための共通メソッドが用意されています。 特にWebClientクラスやHttpClientクラスを利用すると、ローカル環境、イントラネット、インターネット上にある任意のURIリソースに対して、簡単にデータの送受信を行うことができます。 以下の例では、指定したリソースからデータをStreamとして取得するOpenReadメソッドを使用しています。具体的な仕組みは、「https://

  2. 【C#】[]演算子(インデクサー)をオーバーロードする方法をわかりやすく解説

    C#における[]演算子(インデクサー)とはC#で使われる[]演算子は、正式にはインデクサーと呼ばれます。インデクサーを利用すると、配列とまったく同じ感覚でオブジェクトにインデックス経由でアクセスできるようになります。クラスにインデクサーを定義すると、そのクラスはあたかも仮想的な配列であるかのように振る舞い、配列アクセス演算子([ ])を使ってインスタンスの要素を読み書きすることが可能になります。さらに重要なポイントとして、インデクサーはオーバーロード可能です。複数のパラメーターを持つインデクサーを宣言することもでき、各パラメーターには異なる型を指定できます。つまり、インデックスは必ずしも整数型

  3. 【C#】Newtonsoft.JsonでJSONを.NETオブジェクトにデシリアライズし、配列から特定の値を取得する方法

    C#でWeb APIなどから取得したJSONデータを扱う際には、Newtonsoft.Json(Json.NET)ライブラリが広く利用されています。この記事では、WebClientクラスでJSON文字列をダウンロードし、JsonConvertクラスを使って.NETオブジェクトにデシリアライズした後、配列から特定の1つの値を取り出す方法を解説します。 WebClientクラスとは WebClientクラスは、URIで識別されるローカル・イントラネット・インターネット上の任意のリソースに対して、データの送受信を行うための共通メソッドを提供するクラスです。 内部ではWebRequestクラスを使用し

  4. C#でIPアドレスを取得する方法【サンプルコード付きで解説】

    IPアドレス(Internet Protocol Address)とは、ネットワークハードウェアに割り当てられる識別用の番号です。コンピュータをネットワーク上の他のデバイスや世界中のデバイスと接続するために利用され、数字や文字で構成されます。インターネットに接続されるすべてのデバイスには固有のIPアドレスが必要となるため、全世界で数十億個規模のIPアドレスが必要です。この需要に応えるために登場したのが、新しいIPバージョンであるIPv6です。プライベートIPアドレスとはプライベートIPアドレスは、家庭や企業のネットワークに接続されたデバイスに割り当てられるアドレスです。同じISP(インターネッ

  5. C#における「|」演算子と「||」演算子の違いとは?

    C#には、論理和(OR)を計算するための演算子として「|」と「||」の2種類が存在します。一見よく似ていますが、評価の仕方に重要な違いがあるため、適切に使い分けることが大切です。 「|」演算子とは 「|」演算子は、オペランドの論理和を計算します。x | y は、x または y のどちらか一方でも true と評価されれば結果は true となり、両方とも false の場合にのみ false になります。 重要なポイントは、左辺の評価結果が true であっても、必ず両方のオペランドが評価されるという点です。右辺の値に関わらず処理が実行されるため、この動作は「非短絡評価」と呼ばれます。 また、

  6. 【C#】LINQで「NOT IN」クエリを実現する方法|Except演算子の使い方を徹底解説

    Except演算子とは C#のLINQにおける Except 演算子は、IEnumerable<T> インターフェースをサポートするデータソースに対して使用できる集合演算のひとつです。すべてのLINQクエリ式、およびほとんどのLINQメソッドは IEnumerable<T> を返すため、この演算子を使えばLINQクエリの結果同士で差集合(差分)の計算を簡単に行えます。 Except 演算子は「1つ目のリストに含まれる項目から、2つ目のリストに含まれる項目を除外した結果」を返します。SQLでいうところの「NOT IN」とまったく同じ働きをするので、覚えておくと非常に便利で

  7. C#で文字列配列に特定の文字列が含まれているかどうかを確認する方法

    C#では、Contains()メソッドを使用して、文字列や配列の中に特定の文字列が存在するかどうかを確認できます。このメソッドはブール値(true/false)を返します。部分文字列が対象の文字列内に存在する場合、または検索値が空文字列("")である場合はtrueを返し、それ以外の場合はfalseを返します。例外: 検索対象がnullの場合、ArgumentNullExceptionがスローされることがあります。このメソッドは大文字と小文字を区別してチェックを行います。そのため、「Sachin」と「sachin」は異なる文字列として扱われます。検索は常に文字列の先頭の文字位

  8. C#のラムダ式とは?基本構文から使い方まで徹底解説

    ラムダ式とはラムダ式(Lambda Expression)は、匿名メソッドをより簡潔に記述するための手法です。匿名メソッドとラムダ式はどちらもメソッドの実装をインラインで定義できますが、匿名メソッドではパラメータの型や戻り値の型を明示的に指定する必要があります。一方、ラムダ式では型推論によってこれらを省略できるため、コードを大幅に読みやすく、簡潔にできます。ラムダ式の2つの形式ラムダ式には、本体の構成によって次の2つの形式があります。式形式のラムダ(Expression Lambda):本体が単一の式で構成される(入力パラメータ) => 式ステートメント形式のラムダ(Statement

  9. C#でスタックトレースを保持したままInnerExceptionを再スローする方法

    C#におけるthrowはキーワードの一つで、プログラムの実行中に例外を手動でスローするために使用します。スローされた例外は、要件に応じてtry-catchブロックを使って捕捉し、適切に処理することができます。catchブロック内でthrowキーワードを使用すると、そのcatchブロックで捕捉した例外を再スロー(re-throw)できます。例外の再スローは、ログ記録や後処理を行いつつ、最終的なハンドリングを呼び出し元に委ねたい場合などに非常に有用です。重要なポイントとして、throw;と記述すれば元のスタックトレースが保持されたまま例外が再スローされます。一方、throw ex;のように例外オブ

  10. C#のリフレクションでプロパティ値を設定する方法を徹底解説

    System.Reflection名前空間には、アプリケーションに関する情報を取得したり、型・値・オブジェクトを実行時に動的に操作したりするためのクラスが含まれています。 リフレクション(Reflection)とは、プログラムの実行時に型情報を取得するための仕組みです。実行中のプログラムのメタデータへアクセスできるクラスは、すべてSystem.Reflection名前空間にまとめられています。 リフレクションでできること 実行時に属性(Attribute)情報を参照できる アセンブリ内のさまざまな型を調査し、それらのインスタンスを生成できる メソッドやプロパティへの遅延バインディング(Lat

  11. C#で文字列をタイトルケース(Title Case)に変換する方法

    タイトルケース(Title Case)とはタイトルケースとは、書籍のタイトルや記事の見出しなどで使われる表記スタイルの一つで、主要な単語の頭文字を大文字にする形式です。英語圏では、出版作品や芸術作品のタイトルを表記する際に広く採用されています。タイトルケースでは原則としてすべての単語の先頭を大文字にしますが、冠詞や短い前置詞・接続詞といった「補助的(マイナー)」な単語は、タイトルの先頭または末尾に置かれる場合を除いて小文字のままになります。C#では、TextInfoクラスのToTitleCaseメソッドを使うことで、文字列を簡単にタイトルケースへ変換できます。以下の例に示す実装では、出力される

  12. C#で文字列形式を使用して小数点以下最大2桁または整数を表示する方法

    C#のstring.Formatメソッドは、指定された書式に基づいてオブジェクトの値を文字列に変換し、別の文字列に挿入します。数値を見やすい形式で表示したい場合に非常に便利な機能です。名前空間:Systemアセンブリ:System.Runtime.dllFormatメソッドの各オーバーロードは、複合書式指定機能を使用して、複合書式指定文字列内に「書式指定項目」と呼ばれるゼロから始まるインデックス付きプレースホルダーを含めます。実行時に、各書式指定項目はパラメーターリスト内の対応する引数の文字列表現に置き換えられます。引数の値がnullの場合、書式指定項目はString.Emptyに置き換えられ

  13. C#のreadonlyキーワードとは?フィールドを読み取り専用にするメリットと使い方を解説

    C#のreadonlyキーワードは、メンバー変数を定数として扱うために使用されますが、その値を実行時に計算して設定できる点が大きな特徴です。これは、コンパイル時に値が確定していなければならないconst修飾子による定数とは明確に異なります。readonlyを使用すると、フィールドの値は「宣言時」または「そのフィールドが属するクラスのコンストラクター内」で設定できます。一度値が代入されると、それ以降変更することはできないため、不変性(イミュータビリティ)を保証したい場面で非常に有効です。readonly修飾子が使える4つの文脈フィールド宣言readonly構造体(struct)の宣言readon

  14. C#で大文字・小文字を区別せずに文字列を置換する方法|Regexを使ったstring.Replaceの代替

    C#のReplace()メソッドは、Stringクラスに用意された文字列操作用のメソッドです。現在の文字列内に含まれる指定したUnicode文字や指定した文字列をすべて置き換え、変更後の新しい文字列を返します。引数の組み合わせによって、複数のオーバーロードが提供されています。ただし、標準のReplace()メソッドには大文字と小文字を厳密に区別するという特徴があります。たとえば「e」と「E」は別の文字として扱われるため、大文字・小文字を問わず置換したいケースにはそのままでは対応できません。このような場合は、正規表現(Regexクラス)を活用するのが効果的です。正規表現はテキスト処理のための強力

  15. C#で文字列をnull許容int型(int?)に解析・変換する方法

    C#には「null許容型(Nullable型)」という特殊なデータ型が用意されており、通常の値の範囲に加えてnullも代入することができます。null許容型はC# 2.0で導入された機能で、値型の変数にnullを代入できるようになります。宣言方法は Nullable<T> の形式で、Tには任意の型を指定します。null許容型の基本的なルールnull許容型は値型にのみ使用できます。Valueプロパティは、値がnullの場合に InvalidOperationException をスローします。値が存在すればその値を返します。HasValueプロパティは、変数が値を持っていれば tru

  16. C#でタプルのリストを簡単に初期化する方法【コード例付き】

    タプル(Tuple)は、プロパティを持つオブジェクトを格納するためのデータ構造が必要なときに便利です。専用のクラスや型を新しく定義するほどではない場面で、複数の値を手軽にひとまとめにできます。 Tuple<T>クラスは.NET Framework 4.0で導入されました。タプルとは、異なるデータ型の要素を順序付けて格納できるデータ構造のことです。 Tuple<int, string, string> person = new Tuple<int, string, string>(1, Test, Test1); なお、1つのタプルに格納できる要素は最

  17. C#で秒を「時:分:秒:ミリ秒」形式の時間に変換する最良の方法

    C#プログラミングでは、経過秒数を読みやすい「時:分:秒:ミリ秒」形式に変換したい場面がよくあります。この記事では、TimeSpan構造体とstring.Formatメソッドを組み合わせた、最もシンプルで推奨される変換方法をコード例とともに解説します。DateTimeとはDateTimeは、intやdoubleと同じく値型(構造体)として定義されています。System名前空間に属し、mscorlib.dllアセンブリに含まれています。また、IComparable、IFormattable、IConvertible、ISerializable、IEquatableなどのインターフェースを実装して

  18. C#/.NET Coreがインストールされているか確認する方法|dotnetコマンドの使い方を解説

    はじめに:dotnetコマンドでインストール状況をチェックここで紹介するオプションは、dotnet コマンドそのものに対して使用できるものです。たとえば dotnet --info のように実行します。これらのコマンドを実行すると環境に関する情報が出力され、.NET Coreがインストールされていない場合はエラーが発生します。エラーの有無によっても、インストール済みかどうかを判別できます。主なdotnetコマンド一覧1. dotnet --info.NET Coreのインストール状況とマシン環境に関する詳細情報を表示します。現在実行中のオペレーティングシステムや、使用中の.NET Coreバー

  19. C#でParallel.ForEachの並列実行数を制限する方法【MaxDegreeOfParallelism活用】

    C#のParallel.ForEachは、複数のスレッドを使ってコレクションを並列処理できる強力な機能です。しかし、デフォルト設定では使用可能なすべてのリソースを活用しようとするため、状況によっては並列度(同時に実行されるタスク数)を制限したいケースがあります。本記事では、Parallel.ForEachと通常のforeachの違いを確認したうえで、MaxDegreeOfParallelismプロパティを使って並列度を制御する方法を解説します。 Parallel.ForEachとは Parallel.ForEachは、複数のスレッド上でループ処理を実行し、処理を並列に進めるための仕組みです。C

  20. C#で画像のサイズを変更・圧縮して保存する方法

    ビットマップ(Bitmap)とは、グラフィック画像のピクセルデータとその属性情報で構成される画像形式です。ビットマップをファイルとして保存するための標準フォーマットは多数存在しますが、GDI+では以下のファイル形式がサポートされています。 BMP GIF EXIF JPG PNG TIFF Bitmapクラスのコンストラクターを利用すると、ファイルやストリームなどさまざまなソースから画像を生成できます。さらに、Saveメソッドを使えば、作成した画像をストリームやファイルシステムへ簡単に保存することが可能です。 画像を圧縮して保存するサンプルコード 以下のコードでは、CompressAndS

Total 2668 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:129/134  20-コンピューター/Page Goto:1 123 124 125 126 127 128 129 130 131 132 133 134