C#

 Computer >> コンピューター >  >> プログラミング >> C#
  1. C#でスレッドが生存しているかどうかを確認する方法

    C#でスレッドが生存しているかどうかを確認するには、Thread.IsAlive プロパティを使用します。このプロパティは、スレッドが開始済みでまだ終了していない場合に true を返します。あわせて、ThreadState プロパティでスレッドの現在の状態を、ManagedThreadId プロパティで一意の識別子を取得することもできます。 以下に、スレッドの生存状態やその他の情報を取得するサンプルコードを示します。 サンプルコード1:IsAliveプロパティでスレッドの状態を確認する using System; using System.Threading; public class De

  2. C#のBitArrayに含まれる要素数を取得する方法

    C#のBitArrayに含まれる要素の数を取得するには、Countプロパティを使用します。このプロパティは、BitArray内に実際に格納されているビット要素の総数を返します。CountプロパティとはBitArray.Countは、コレクション内の要素数を表す整数値を返すプロパティです。BitArrayは作成時に指定したサイズ分のビットを保持するため、通常はコンストラクタで指定した値と同じ数が返されます。サンプルコード1:Or演算後のBitArrayの要素数以下の例では、2つのBitArrayに対してビット単位のOR演算を行い、その結果得られるBitArrayの要素数を確認しています。usin

  3. C#でStringCollection内の指定したオブジェクトのインデックスを検索する方法

    C#のコレクション(StringCollection)から指定したオブジェクトのインデックス位置を取得するには、IndexOf()メソッドを使用します。このメソッドは、指定した文字列が最初に見つかった位置の0から始まるインデックスを返し、見つからなかった場合は-1を返します。以下に具体的なコード例を示します。例1:IndexOf()メソッドでオブジェクトのインデックスを取得するusing System; using System.Collections.Specialized; public class Demo {    public static void M

  4. C#のList.FindLastIndexメソッドで条件に一致する要素の最後のインデックスを取得する方法

    C#のList<T>.FindLastIndexメソッドを使用すると、指定した条件(述語)に一致する要素をリスト全体から検索し、その要素が最後に出現する位置のゼロベースのインデックスを返すことができます。FindLastIndexメソッドとはFindLastIndexメソッドは、Predicate<T>デリゲートを引数として受け取り、リストの末尾から先頭に向かって検索を実行します。条件に一致する要素のうち、リスト内で最後に出現するもののインデックスを返し、一致する要素がひとつも存在しない場合は -1 を返します。例1:10の倍数を検索する以下の例では、「10で割り切れる

  5. 【C#】ArrayListの容量(Capacity)を実際の要素数に設定する方法

    C#のArrayListでは、要素を追加していくと内部の容量(Capacity)は自動的に拡張されます。そのため、実際の要素数よりも容量が大きくなり、無駄なメモリが確保された状態になることがあります。そこで活躍するのがTrimToSize()メソッドです。このメソッドを呼び出すことで、ArrayListの容量を現在の実際の要素数(Count)まで縮小できます。以下に具体的なコード例を示します。例1:TrimToSize()で容量を縮小する基本例using System; using System.Collections; public class Demo { public stati

  6. C#のSortedListオブジェクトの容量を実際の要素数に設定する方法

    C#のSortedListオブジェクトにおいて、容量(Capacity)を実際の要素数に合わせて縮小するには、TrimToSize()メソッドを使用します。このメソッドを呼び出すことで、余分なメモリ領域が解放され、CapacityがCount(実際のキーと値のペア数)と一致するようになります。それでは、具体的なコード例を見ていきましょう。サンプルコード1using System; using System.Collections; public class Demo {    public static void Main(String[] args) {   &

  7. C#で配列の指定した次元の要素総数を取得する方法(GetLongLength活用ガイド)

    C#では、GetLongLength()メソッドを使用することで、配列の指定した次元に含まれる要素の総数を取得できます。このメソッドは、0から始まる次元のインデックスを引数に受け取り、該当する次元の要素数を64ビット整数(long型)として返します。GetLongLength()メソッドとはArray.GetLongLength(int dimension)は、指定された次元の要素数をlong型で返すメソッドです。要素数がint型の上限(約21億)を超えるような巨大な配列を扱う場合に特に有用です。通常の配列であれば、LengthプロパティやGetLength()メソッドでも同じ値を取得できます

  8. C#におけるvarとdynamicの違いを徹底解説

    プログラミング言語を学ぶうえで、最初に直面するのが変数の宣言です。宣言された変数に対して定義やロジックを実装していくため、コーディングを始める前に、その言語でどのように変数を宣言すべきかを理解することは非常に重要です。C#における型付けの進化C#では、言語のバージョンアップとともに変数の宣言方法にも変化がありました。初期のC#では、すべてのコードがコンパイル時に検証される「静的型付け言語」として設計されており、変数は var キーワードを使って宣言されていました。その後、C# 4.0で dynamic キーワードが導入されました。dynamic を使った変数は、構文の検証やエラーチェックが実行

  9. C#における抽象クラスとインターフェイスの違いを徹底解説

    C#はJavaと同様のオブジェクト指向プログラミング言語であり、カプセル化、抽象化、継承、ポリモーフィズムといったオブジェクト指向の概念を完全にサポートしています。その中でも「抽象化」を実現する手段として、抽象クラス(Abstract Class)とインターフェイス(Interface)の2つがよく登場します。どちらも抽象化を実現するための仕組みですが、役割や使い方には明確な違いがあります。本記事では、それぞれの特徴と、両者の重要な相違点について詳しく解説します。抽象クラスとは抽象クラスは、その名の通り直接インスタンス化できないクラスです。概念的には、1つ以上の純粋仮想関数(抽象メソッド)を持

  10. システムレベル例外とアプリケーションレベル例外の違いとは?C#の例外処理を徹底解説

    例外(Exception)とは何か?例外とは、プログラムやアプリケーションの実行フローが何らかの原因で中断される現象を指します。このような望ましくないイベントが発生した場合、コード内に問題が潜んでいることを示唆しており、開発者にとって重要なサインとなります。特にC#のような.NET系言語では、例外は大きく分けて「システムレベルの例外」と「アプリケーションレベルの例外」の2種類に分類されます。それぞれ発生原因や扱い方が異なるため、適切な例外処理を実装するうえで両者の違いを理解することは非常に重要です。以下の比較表では、派生元・発生状況・ハンドリング方法・カスタマイズ性・生成元という5つの観点から

  11. LinuxでC#コードを実行する方法:Monoを使ったクロスプラットフォーム開発

    これまで.NETを中心としたアプリケーションはWindowsオペレーティングシステム向けに開発されてきました。しかし現在、MicrosoftはMonoという新しいクロスプラットフォームアプリケーションを導入し、.NETプラットフォーム上で開発されたアプリケーションをLinux環境でも実行できるようにしました。あたかもLinuxパッケージを実行しているかのように動作し、.exeファイルを直接実行している感覚はありません。 Monoとは Monoはオープンソースのユーティリティで、開発者がMacやLinuxなど他のプラットフォーム上で.NETアプリケーションを実行できるようにします。さらに、Win

  12. C#におけるreadonlyキーワードとconstキーワードの違いを徹底解説

    readonlyキーワードとはreadonlyキーワードは、宣言時またはコンストラクター内で一度だけ値を代入できる変数(読み取り専用フィールド)を定義するために使用します。一方、constキーワードは、プログラム全体で使用する定数を定義するために使用します。両者は似たような用途で使われますが、動作や制約に重要な違いがあります。以下に、C#におけるreadonlyとconstの基本的な使用例を示します。コード例using System.IO; using System; public class Program { public const int VALUE = 10; pu

  13. C#におけるoutキーワードとrefキーワードの違いを徹底解説

    はじめにC#には、引数を参照渡しするためのキーワードとして「out」と「ref」の2種類があります。どちらもメソッド側で渡された変数の値を変更できる点は共通していますが、用途や使い方には明確な違いがあります。outキーワードとはoutキーワードは、引数を参照としてメソッドに渡すために使用され、主にメソッドが複数の値を返す必要がある場合に活用されます。outパラメータは、呼び出し元で事前に初期化する必要がなく、代わりにメソッド内で必ず値を代入しなければならないという特徴があります。refキーワードとはrefキーワードも同様に、引数を参照としてメソッドに渡すために使用されますが、主に既存の変数の値

  14. C#のHashtableとDictionaryの違いとは?特徴と使い分けを徹底解説

    C#では、データを「キー」と「値」のペア(Key/Value)で格納できるコレクションとして、HashtableとDictionaryの2つがよく使われます。一見似ていますが、型の制約やパフォーマンス、エラー処理などに重要な違いがあります。本記事では、両者の違いを比較表とサンプルコードを使ってわかりやすく解説します。 HashtableとDictionaryの主な違い 項目HashtableDictionary 定義System.Collections名前空間に属する非ジェネリック(non-generic)コレクション。キーと値のペアでデータを格納します。System.Collect

  15. C#におけるクラスと構造体の違いを徹底解説

    C#におけるクラスと構造体の基本的な違い クラス(Class)と構造体(Struct)を正しく使い分けるためには、まず両者が「データの定義と保持」という点において、ほぼ同等の役割を果たすことを理解しておく必要があります。どちらもデータメンバーを定義し、既定値を保持することが可能です。しかしそれ以外の側面、たとえばメモリ管理や継承といった機能面で比較すると、クラスの方が構造体よりも柔軟性が高く、より多くの機能を提供しています。 以下の表に、クラスと構造体の重要な違いを6つの観点からまとめました。 番号項目クラス構造体 1データ型クラスで定義されたデータは、メモリ上に参照として格納され、ア

  16. C#のSortedListとSortedDictionaryの違いとは?特徴と使い分けを徹底解説

    C#には、キーと値のペアを自動的に並べ替えて管理できるコレクションとして、SortedListとSortedDictionaryの2種類が用意されています。どちらも「キーに基づいてソート済みの状態でデータを保持する」という共通の目的を持っていますが、内部構造やメモリの使い方、アクセス方法、パフォーマンス特性などに明確な違いがあります。 本記事では、両者の主な相違点を比較表とサンプルコードとともにわかりやすく解説します。 SortedListとSortedDictionaryの違い一覧 No.比較項目SortedListSortedDictionary 1メモリ使用量要素を連続した領

  17. C#におけるメソッドのオーバーライドとメソッドの非表示の違いを徹底解説

    C#には、子クラスが親クラスのメソッドを再定義し、新しい実装を提供するための仕組みとして、「メソッドのオーバーライド」と「メソッドの非表示」という2つの方法があります。どちらも継承と密接に関わる重要な概念ですが、再実装のやり方や実際の動作には大きな違いがあります。この記事では、両者の違いを比較表とサンプルコードを使って詳しく解説します。 メソッドのオーバーライドとメソッドの非表示の主な違い 番号比較項目メソッドのオーバーライドメソッドの非表示1定義親クラスと子クラスが同じ名前・パラメータ・シグネチャを持つメソッドを定義し、子クラスのオブジェクト経由で呼び出したときに子クラス側の実装が実行される

  18. C#で変数に格納する値の型が不明なときは?dynamicキーワードによる動的な型の扱い方

    C#は静的型付け(強く型付け)の言語です。そのため、すべての変数や定数にはあらかじめ型が定義されており、変数を使用する前に「その変数にどんな型の値を格納するのか」をコンパイラに伝える必要があります。しかし、実際の開発では、実行するまで格納される値の型が確定しないケースもあります。こうした場合に役立つのが、dynamicキーワードによる動的な型の扱いです。dynamicキーワードとはdynamicキーワードを使うと、変数を「動的型」として宣言できます。動的型として宣言されたオブジェクトは、コンパイル時の型チェックがスキップされ、型の判定は実行時まで延期されます。つまり、構文の妥当性チェックやエラ

  19. C#の「is」キーワードとは?型チェックの使い方をわかりやすく解説

    C#における 「is」キーワード は、あるオブジェクトが特定の型にキャスト(変換)できるかどうかを判定するために使用されます。演算の結果は bool 型(true / false)として返されます。継承関係にあるクラス同士では、派生クラスのオブジェクトは基底クラスの型として扱えるため true を返しますが、互換性のない型への変換は false となります。サンプルコードusing System; namespace DemoApplication{ class Program{ static void Main(){ Employee emp

  20. C#で単一のジェネリックリストに異なる型のリストを複数格納する方法

    C#では、List<List<object>> のように「object型のリスト」を要素とするリストを作成することで、異なる型のリストを複数(n個)まとめて1つのジェネリックリストに格納できます。object型はすべての型の基底クラスであるため、intやstringなど、どんな型のデータでも保持できるのがポイントです。実装例以下のコードでは、整数値を格納したリストと文字列を格納したリストという、異なる型の内容を持つ2つのリストを、1つの List<List<object>> に追加しています。using System; using System.

Total 2668 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:120/134  20-コンピューター/Page Goto:1 114 115 116 117 118 119 120 121 122 123 124 125 126