59
60

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita内のC#erのための有用な記事リファレンス(2012年~)

Last updated at Posted at 2025-07-19

PC版での閲覧を推奨。Qiita内右ペインの目次機能を活用してください

個人的まとめ記事
そのうちフルコンプする予定

  • とにかく手当たり次第にC#を学びたい人向け

  • 古い情報を漁りたい方向け

  • 公開ストックとしても作成予定。

  • 収録した記事には以下の内容を含む
    WPF関連, RX,Winform関連,Linq,Unity
    → その他難解なアルゴリズムやあまり知られていない用語を含む

  • 古い記事なので、現在のC#バージョン(.net 9.0以降)ではより効率よく書き直せる場合が多い。

  • 記事内には若干の誤りを含む可能性がある。

  • いいねが少ないものはかなり難解。

  • 特に応用性に富む記事は私的に💡マークとして評価した。

  • 記事の内容は恐らくほぼオリジナルだと考えてよいだろうと思われる

  • この記事の内容は自由に再編集して構わない(例えばWPFとして再分類して良い)
    → 収録した記事に関しては必ずしもその限りではないが、十分許容されるものと信じる次第である

  • 主項目はQiita内の記事のみを含める

  • 個人的に調べた事を注釈として書いている※1

  • アカウントは放置されて久しい物が多い模様

  • 内容を深堀りしてほしい場合はいいねかストック。 内容はコメントへ※2※3

    • 実際に記事内容を実行して検証するのは疲れるので要望待ち。
  • ★評価を追加。自分の評価をベースにAIを用いつつ慎重に判断している(つもり)-25/08/02

    • ★4(★★★★☆)以上は応用が利く、現代でも有効等の理由で有用だと見做して良い
  • ★評価基準

    • 現代的
    • 正確性
    • 応用性がある
    • テーマが良い
    • 内容的にも高度

$\color{gray}{\tiny \textsf{※1収録しているものは独断と偏見に基づいており、全ての記事を含めているわけではない。}}$

$\color{gray}{\tiny \textsf{※2 気が向いたら応じる}}$
$\color{gray}{\tiny \textsf{※3 編集回数は xいいね数   現在の編集回数は約12回}}$ 

そのうち誰かがAPIで作ったりするのかもしれない

ワタシは生成AIで意味を解説させてますが、ググっても出ないものがあるので一部の意味だけを含めています(詳しく知りたい場合は各自で研究すること)

2012年

Clickで展開

C#でFizzBuzzをば(★★☆☆☆)

https://qiita.com/Kokudori/items/889d1531b9c635c64668
記念すべき(?)記録上初のC#タグの記事。
Ling の基礎的な使い方。Rangeメソッドから

enumの項目数を取得する(★★★☆☆)

https://qiita.com/kazuhirox/items/12319707ba2eb650e9e8

GPUIDを生成する(★★★☆☆)

https://qiita.com/redtower/items/e08361c35c37a548dde5

1月、2月…をJan. Feb. ...に変換する(★★★☆☆)

https://qiita.com/satrex/items/6bb4c140366263818d36

コンテナに格納したコントロールを取り出す順序(★☆☆☆☆)

https://qiita.com/kazuhirox/items/788508b5dc9546ae9ef0
winform向け

.Net + SQL Serverでテストデータを準備する方法(★★★☆☆)

https://qiita.com/satrex/items/ca08601739d4ce23dcb1

リフレクションで静的クラスのプロパティを取得(★★★★☆)

https://qiita.com/Kokudori/items/7c4b2ca35592e21af1d5
→ 非Staticでも可(BindingFlagsを変える)
→ DLLで読み込んだ型でも使える

💡コンスセルのリストで再帰版直積(★★★★★)

https://qiita.com/matarillo/items/90b4ff8061a3608c4428
コンスセルとは?

「コンスセル」はリストの先頭の要素と残りのリストを持つ構造体

関数型プログラミングの基本的なリストの形で、再帰処理に便利

C#で実装することで、不変で扱いやすいリスト操作ができる

  • 直積:複数の集合に対して、すべての組み合わせを作る操作
  • 用途
    再帰構文解析、履歴追跡
    スレッドセーフな処理、巻き戻し可能な状態(Undo)
    Lisp/Scheme風実装、数独・迷路・組み合わせ問題など

→ 参考 : 代数的データ型 in Unity

→ 要素が増えると 組み合わせ爆発が起きやすいのでフィルタリングや遅延実行が必要

💡コンスセルや再帰を使わずに直積(★★★★★)

https://qiita.com/matarillo/items/7f4f530fdc4130608ef4

  • Stack<T>を使う
  • 遅延評価
    → 組み合わせ爆発は前者と同じく条件絞り込みで対応

C#って普通に#if true とか #define とか使えるんだね。(★★☆☆☆)

https://qiita.com/ongaeshi/items/88526eafdbea3418ff0e

条件付きコンパイルは今のC#ではあまり推奨されないとのこと。

既存のDataGridViewの列を持ったDataGridViewRowを作成する(★☆☆☆☆)

https://qiita.com/satrex/items/7171d71461e3cb147b75
Winform向け。

生&死=? (★☆☆☆☆)

https://qiita.com/jumboly/items/d89e704a59ebd6404af8
→ 文字コードが偶然ある文字になることを利用したお遊び。

個数の異なる二つのリストをカンマ区切りで縦に結合する(★★★☆☆)

https://qiita.com/kazuhirox/items/96d2793ae9666eff88d8
→ 要素数が同じか短い方だけ必要ならLinqのZipメソッドが簡潔

💡C#でvar_dump(★★★☆☆)

https://qiita.com/rev84/items/2722096a1adedcdf0bbf
PHPのvar_dumpをC#的に実装したもので、オブジェクトの中身を簡単に再帰的に確認したい場合に便利

このままでは使い物にならない点に注意。

  • いろいろと書き直す必要がある。
  • シンプルなクラス構造の調査には向いている

→ 通常はリフレクションを使用する方がWPFコントロールには向いてるが、視覚的に表示するというアプローチは面白い

以下のライブラリの使用を推奨。
参考:既存のライブラリ

ObjectDumper
デバッグとログ記録の目的で C# オブジェクトを文字列にシリアル化することを目的としたユーティリティ
Dumpify
コンソール アプリケーション。

.Dump()に拡張メソッドを追加することで、生産性とデバッグ可能性が向上します。 任意のオブジェクトを構造化された多彩な方法でコンソール、トレース、デバッグ イベント、または独自のカスタム出力に追加できます。

nuget:https://www.nuget.org/packages/Dumpify

コルーチンの中で、更にWWWなどを使うメソッドを呼び出したい場合(★★☆☆☆)。

https://qiita.com/shinobu_shiva/items/9e71f4185e7cc01790ef
Unity向け。
ごく短い基本的なCodeで応用例に欠けるので-1
2025年現在、WWWは非推奨(Unity 2018以降)で、UnityWebRequestやUniTask、async/awaitが主流 -1

重い処理の実行中にプログレスバー{IsIndeterminate=True}付きウィンドウを表示する(★★★★☆)

https://qiita.com/dhq_boiler/items/930ff2dc960fd950d7a3

LINQでParserモナド(★★★★☆)

https://qiita.com/matarillo/items/d83a6961243e7c2848ee
HaskellのParserモナド等

モナドは関数型言語で副作用の管理や計算の連結を抽象化する仕組み。

「値を包むコンテナ」のようなもので、コンテナの中の値に対して連続的に処理をつなげていく方法を提供する。

2次元配列を列で取り出して演算する(★★★☆☆)

https://qiita.com/kazuhirox/items/62b46b4889c4d5896a6d
C# 9以降ではdouble型を省略してNew出来る。

LINQを使って、指定個数ランダムで取り出すには(★★★☆☆)

https://qiita.com/rohinomiya/items/2d60bc7b23ceb41fc06a

💡P/Invoke で __in_opt の引数を wrap するクラス(★★★★☆-)

https://qiita.com/AsladaGSX/items/9f911a91bcd3897fc650
C# から Win32 API を P/Invoke で呼び出す際、__in_opt 引数(NULL 指定可能なポインタ)をスマートに扱う方法を解説
__in_opt 引数を持つWin32 APIは多数ある。

  • やや特殊な実装になるので-1

Formのローカリゼーションを一括切り替え(★★☆☆☆)

https://qiita.com/krsak/items/79983222c55feed78f0d
Winform向け。WPFではXAMLによるBindingが主流

💡メモリを節約して1000000番目の素数を求める(★★★★★)

https://qiita.com/matarillo/items/1f7af38b7c9f26de5079
エラトステネスの篩と呼ばれるアルゴリズムの使用例。

  • 範囲が大きく、メモリ確保が困難な場合 CompositeTableなど動的管理が有利
  • 範囲が小さい・固定の時 は配列が有利
    -「配列を使ったエラトステネスの篩」は高速で単純、メモリ使用量は範囲に直結して増加。
  • 関連 Qiita記事エラトステネスの篩を使って素数を求める

LINQで7クイーン(書類選考無し&高級うなぎGET)(★★★★☆)

https://qiita.com/matarillo/items/55f05087507e6b05ded5
構造体は色々と振舞いを持たせられる事を知った。
内容的にもLinqやジェネリッククラスを使い、高度

💡Log4Net を利用してログを記録する(★★★★☆)

https://qiita.com/rohinomiya/items/2b86c4e8d5afd5c2fb39
WPFでも問題なく使用可能とのこと。

→インストール方法:【C#, log4net】log4netを使う

Log4NetのNullオブジェクトを定義してNullチェックを不要にする(★★★☆☆)

https://qiita.com/rohinomiya/items/09a707dc700263bf68b4

💡try ~ catch で捕捉されてない例外をUnhandledExceptionで補足する(★★★★☆)

https://qiita.com/rohinomiya/items/c7f69713654c47f6c7cd
ちなみにVisual Studioの設定で、指定した例外を捕捉することも可能である

「filterM で powerset」をC#らしく(★★★★★)

https://qiita.com/matarillo/items/946fc244e81e3d382978

powerset(べき集合)というのは、すべての部分集合を集めた集合。

用途

  • テストケース生成
    ┗ ペアワイズ法(pairwise testing)や組み合わせ削減法と併用することが多い

  • ナップサック問題、サブセットサム問題、グラフの部分集合探索など、組み合わせ最適化で部分集合を列挙
     ┗実務例: スケジューラ、在庫管理、プロジェクト最適化、広告予算の配分など。

  • 機械学習
     →データ解析・機械学習:特徴量選択(Feature Selection)で、すべての特徴の組み合わせを試す場合に使用。
     ┗補足: 実際のMLでは、PowerSet列挙は計算コストが高いため、逐次前進選択(SFS)やLASSOなどの手法がよく使われますが、小規模な特徴量集合では全探索(PowerSet)も現実的。

  • ゲーム開発・AI
    用途: 状態空間探索、合法手の全列挙、戦略の検討。
    例: ボードゲームで可能な駒の移動パターン、AIエージェントの行動組み合わせなど。
    具体例: 数独の解候補全列挙、パズルの組み合わせ評価。

  • 暗号・セキュリティ
    brute-forceアプローチの一部であり、現代では効率化技術やヒューリスティクスが併用される。

 

NDesk.Options を使ってコマンドライン解析を楽にする (★★★☆☆)

https://qiita.com/rohinomiya/items/0b536d32c9e214261299

C# から、Growlを利用する(★☆☆☆☆)

https://qiita.com/rohinomiya/items/7b1ad2bae9aeb26fcce5
古いので非推奨

Rxを使って、LocationChangedイベントを捕まえる --泣きながらC#(★★★☆☆)

https://qiita.com/numa08/items/e9f61340f3de7698c804

Rx(Reactive Extensions)とは、イベントや非同期データをLINQのようにストリーム(データの流れ)として扱えるライブラリ。

→執筆者の理解度が不足しており-1
技術スタックの評価は高いので掘り下げる価値があるだろう

WPFに外部アプリ(Window)を埋め込む(★★☆☆☆)

https://qiita.com/kouh/items/7b55fbc72ffc91983575

  • Thread.Sleepの使用はタイミング問題への対処が未熟(-1)
  • WindowsFormsHostの使用はWPFとWinFormsの相互運用を知っているが、エラー処理やリソース管理の考慮がない(-1)
    • ex.異なるスレッドでUI操作を行った場合
      → InvalidOperationException(例:「呼び出し元のスレッドがこのオブジェクトを所有していないため、アクセスできません」)

数値文字列を指定桁で0埋めするにはString.PadLeft(桁,'0');(★★☆☆☆)

https://qiita.com/rohinomiya/items/132328fa682962cbc4a6

指定回数処理を繰り返すメソッド(拡張メソッド) (★★☆☆☆)

https://qiita.com/rohinomiya/items/cded0dba429581655db2

ForEach()メソッドをシンプルに書けるようにする(★★☆☆☆)

https://qiita.com/rohinomiya/items/99aa993cfe5def51bbe5

array(配列)に対する拡張メソッド

C#で可変長引数を使うには params(★★★☆☆)

https://qiita.com/rohinomiya/items/b8327999fd835132cb7a

Quine(クワイン、自己言及プログラム)(★★☆☆☆)

https://qiita.com/matarillo/items/c5c804329c92c11c2529
ひろゆきが言及していたらしい

C# + LINQ でJSONのパースをする(★★★★☆)

https://qiita.com/numa08/items/475ab3e8aa9e10441a26
Jsonの深い構造の抽出を上手く書いている。

enumの文字列表現を定義する(★★★★☆)

https://qiita.com/kazuhirox/items/d4f2ea04f81bf3da613c
UI表示や多言語化に応用が利く

num < .Count()ではなく.Skip(num).Any()の勧め(★★★★☆)

https://qiita.com/isishizuka/items/d8f3e5219fa933ee7f6f

POCOでDBの型を指定する(★★★☆☆)

https://qiita.com/Tokeiya/items/3a80068be422eae88ca6

POCO(ポコ)とは "Plain Old CLR Object" の略で、
ごく普通のC#のクラス」を意味する。

意味が分かる人がいるのか???

💡イテレーター非同期(★★★★★)

https://qiita.com/matarillo/items/b51d39afebb115a19f0f
難解だが有用な記事
→AIによる解説
・明示的な継続渡しモデルによる非同期制御
・通常のasync/await方式より柔軟性が高い(らしい)
→実際の使用例は要望があれば記事化するかもしれない

既存DLL配布モジュールで発生する PInvokeStackImbalance の回避(★★★★☆)

https://qiita.com/AsladaGSX/items/4ce108a6b7a39cd5bdb2

.NETでアンマネージコードを呼び出す(P/Invoke)際、関数の呼び出し規約が一致していない場合などに起こるエラー

EnumerableEx.Generateを使う際の注意点(★★★☆☆)

https://qiita.com/Tokeiya/items/5f7295e73d3cde646352
前置インクリメント(++i)を初めて知った件。
→ インクリメントしてから代入する

Windows のワイルドカード文字列を正規表現に変換するメソッド (★★★★☆)

https://qiita.com/AsladaGSX/items/5d109cdfb9519e142ad3
→ Windowsのファイル名パターンを正規表現で使いたい時

赤黒木+graphivizによる可視化(★★★★★)

https://qiita.com/oskimura/items/117a833226d0ec924944
赤黒木について 赤黒木 -Wikipedia

「自己平衡二分探索木」の一種で、木構造のデータを効率よく検索・挿入・削除できるデータ構造です。

赤黒木の用途例

  • データベースのインデックス
  • C++ STLのstd::mapやstd::setの内部実装
  • メモリ管理やスケジューラの優先度管理

MissingManifestResourceExceptionの対処法(★★★☆☆)

https://qiita.com/nicklegr/items/72952aa0948cef741ccc

Link: MissingManifestResourceException 例外と MissingSatelliteAssemblyException 例外を処理する

C#: テキストボックスで、Ctrl+Aですべて選択できるようにする(★☆☆☆☆)

https://qiita.com/nicklegr/items/d3e97d6910a1353ff45b
Winform向け

C#からThrustを使う方法(またはネイティブなクラスを使う方法)(★★★★☆)

https://qiita.com/aokomoriuta/items/41a6dcf221fd3cf67c5b
→Thrustとは

NVIDIAが提供するC++向けの並列アルゴリズムライブラリ

→ C#からネイティブライブラリを呼び出す手法は、ハイパフォーマンスコンピューティングやゲーム開発で有用。ただし、C#でのGPU利用はCUDA.NETやOpenCLにシフトしつつある。

参考:Alea GPUで簡単C# GPUプログラミング

Link: https://developer.nvidia.com/thrust
用途

GPUを利用した処理

  1. ソート(thrust::sort)
    a.大量データの高速ソート(int/float構造体なども可)

  2. スキャン(累積和:thrust::inclusive_scan / exclusive_scan)
    a. 累積合計や累積処理に最適
    b.GPUの並列性を活かして数百万件を高速に整列

共有フォルダの情報を取得する方法(★★★☆☆)

https://qiita.com/Fuhduki/items/5684422965d769b42721
1.System.Managementの使用はWindows限定
┗NuGet パッケージの追加が必要
Nuget:https://www.nuget.org/packages/System.Management/

C#で、文字コードを表す文字列から、文字に変換する(★★★★☆)

https://qiita.com/rohinomiya/items/ca30f311f881cbb33ca8

使い道

  • APIやファイルでUnicodeのコードポイント(16進数表記)だけが送られてくる時、それを実際の文字に変換したいとき。
  • 動的な文字生成・操作
     ┗プログラム中で特定の文字コードを変数で受け取り、その文字を表示や比較、加工に使うケース。
      ┗ 直接文字列に「が」と書けない、文字コードだけ分かっている場合。
  • Unicodeコードポイントと対応文字を簡単に確認・検証するとき。

汎用IsNull,IsNotNullの実装(★★★☆☆)

https://qiita.com/Tokeiya/items/949cf2e2be301f031178

Object型にCastしないと無限再帰になる。
注意点
is Null はC# 7.0以降で使える。
但し、このようなアプローチ(拡張メソッド)で独自実装を書けるという点では有用。

総ページ数の計算方法(★★☆☆☆)

https://qiita.com/ktz_alias/items/387e36ecd9f8a702161e

※記事の内容が誤っているので-1。
WebアプリなどのUI表示におけるページネーションのページ数 を指しているらしい

AI解析によると、Codeは先頭から itemsInPage 件をスキップしたあとの残り件数」を返すものであり、Skip を使えばページごとの先頭要素を取り出せるから、それを数えればページ数になる」と誤解している

正しい総ページ数の計算方法(★★★☆☆)
//ex.WPFでDataGridを使用するものとする

// ItemsSourceを IList にキャストして要素数を取得(dataGrid1から)
System.Collections.IList itemsSource = dataGrid1.ItemsSource as System.Collections.IList;

int totalItems = collection.Count();

int itemsInPage = 20;  // 例:1ページあたり20件表示

// 総ページ数を計算(切り上げて整数に変換)
int totalPages = (int)Math.Ceiling((double)totalItems / itemsInPage);

Unity C# DLL化 メモ(★★☆☆☆)

https://qiita.com/prototechno/items/31791ffce409b29d3ccc
MacOS向け。
→ 当然なのだが2012年時点の情報である
→ .NET 3.5ベースで、最新のC#機能(C# 8.0以降)や.NET Standard 2.1に対応していない。

現在の変更点
Unity Hubの導入(2018年頃~)により、Unityエディターのインストールパスが柔軟に変更可能に。複数のUnityバージョンを管理するため、デフォルトパスは以下のように変化:

Termina
+ mcs -r:/Applications/Unity/Hub/Editor/2022.3.10f1/Editor/Data/Managed/UnityEngine/UnityEngine.CoreModule.dll -target:library -out:hoge.dll hoge.cs

未検証なので注意。
※当方はMac環境を持ってないので、検証して編集リクエストを

補足:Mac版Visual StudioでUnity用のDLLを出力する方法

C#によるRubyっぽい繰り返し(★★☆☆☆)

https://qiita.com/kazuhirox/items/cd6a0d6ffd100ee48041

個人開発向き。
拡張メソッドでForループ処理をRubyっぽく実装したもの。
慣れた言語の構文をCsharpで使いたい人には良いかもしれない。

テキストファイルを任意の場所から読む方法(★★★☆☆)

https://qiita.com/kazuhirox/items/cb9887fe739c8744f096

ループするページ番号の計算方法(★★★☆☆)

https://qiita.com/ktz_alias/items/6cb831936d9c011e78f6

Unity初心者がハマる11の「罠」~考察編(★★★★☆)

https://qiita.com/gamesonytablet/items/20b25ad9729e4a353c96
C#タグとしてバズってる(いいね100越え)のはここが初出。

[ネタ] C# でDictionary生成リテラル(★★★★☆)

https://qiita.com/wonderful_panda/items/3fe025f4c68855d465ad
式ツリーを使った斬新なDictionary生成
実用性には欠けるもののユニークな発想

Dictionary.FirstOrDefault() で値が取得できたか判別する方法(★★★☆☆)

https://qiita.com/rohinomiya/items/4a3a72b7197e6fdb93df

LINQの集合演算(★★★★☆)

https://qiita.com/kazuhirox/items/afa154232e636c9ca415

Webサービスで公開するエンティティが循環参照する場合の解決法(★★★☆☆)

https://qiita.com/satrex/items/1627d19f232d6b814612
System.Web.Services.WebService(ASP.NET Webサービス)とXmlIgnoreを使用しており、2000年代の技術(ASMX)に依存
現在のC#開発では、ASP.NET CoreやgRPC、JSONシリアライズ(System.Text.Json)が主流

イベントハンドラのスレッドセーフ性(★★★★☆)

https://qiita.com/karno/items/a4b2a744659a5b0a4df4
スレッドセーフ:イベントハンドラがNullReffrenceExceptionにならないための実装方法の提示

C# で シングルトンパターン(★★★☆☆)

https://qiita.com/rohinomiya/items/6bca22211d1bddf581c4
もう知ってるから個人的にはどうでもいい
基本的にコンストラクタでやってる
AIによる説明:シングルトンパターンはC#の標準的な実装(privateコンストラクタ、静的インスタンス)で、2000年代から広く使われている。ただし、C# 4.0以降の**LazyDI(依存性注入)**が現代的な代替として推奨

スレッドセーフ性の複雑さ:シングルトンの初期化をスレッドセーフにするには、明示的な同期(lockやdouble-checked locking)が必要で、実装が複雑になりがち。
テストの難しさ:シングルトンは静的な状態に依存するため、モックやスタブを使った単体テストが困難。
依存関係の管理の難しさ:シングルトンは依存関係をコード内に硬直化させ、柔軟性や拡張性が低下する。
状態管理の問題:グローバルな状態を持つため、意図しない副作用や状態の共有によるバグが発生しやすい。
これらの課題を解決するために、C# 4.0以降のLazyや依存性注入(DI)が推奨されるようになりました。

NUnitで自作クラスのユニットテストを行う(★★★★☆)

https://qiita.com/rohinomiya/items/47f09523f1b9dfa015b1

ジェネリックと拡張メソッドを使ってみる(★★★★☆)

https://qiita.com/rohinomiya/items/1aa08c088a62f46d9fe1

実行ファイルとDLLを一つにまとめる(★★☆☆☆)

https://qiita.com/krsak/items/75a257cc0866a7e8e4aa
ツールとしては古い
ILmerge : https://github.com/dotnet/ILMerge
対応は.NET Framework 1.0、1.1、2.0、4.0
現在ではVisualStudioに単一ファイル公開機能があり不要。

C#: ウィンドウの位置・サイズ・最大化状態を保存する(★★☆☆☆)

https://qiita.com/nicklegr/items/faefb804697a395b148d
Winform用だがWPFでも同じアプローチは取れる。
この方法はWindows内のUsers\[ユーザー名]\AppDataフォルダ内に保存されてしまうので、何となくお勧めしない(アクセス性が良くないから)。まあせいぜい数十kb程度だと思われるが。個人的にはiniJsonの方が好き。
使えるとはいえば使えるが

C#でイベントハンドリングによるオブジェクト間データ渡し(原題:C#でオブジェクトからオブジェクトへ変数を渡すには ★★★☆☆)

https://qiita.com/Feel-Physics/items/4c5b5e4d77350a60cf62
記事のタイトルが誤っているので便宜上変えた。
応用性は高いが書き方は古い。もっといいCodeに書き換えられる。

♯ .Net用DLLを動的に呼び出す(★★★☆☆)
https://qiita.com/kazuhirox/items/55d9cba408eb9c752956

2012年度の(たぶん)有用な記事は以上になります。

2013年

C#: 実行時に名前を指定してメソッドを呼び出す

→リフレクションより簡潔に書ける
→インスタンスの型が不明な場面(DIや外部アセンブリなど)でも有用。

注意点:
 ┗型チェックが利かないので実行時エラーになる可能性
  ┗Activator.CreateInstance通常、Nullにならない

ディレクトリ内のファイルを正規表現で

正規表現(.txt ファイルだけ取得)
Regex reg = new Regex(@"\.txt$", RegexOptions.IgnoreCase);

→サブディレクトリを含める
Directory.GetFiles(path, "*", SearchOption.AllDirectories)

Listの末尾にListを追加する

→元のlistを破壊的に(そのまま)変更する
この場合は第1引数のlist1が変更される。
→元のListを保持する場合はConcat.toList()を使用する

Xamarin.Android で作った HelloWorld のソースを眺めてみる

https://qiita.com/kazuhirox/items/55d9cba408eb9c752956
Xamarin.Android向け。androidアプリ開発者向け。
IDEも古くてもうメンテナンス以外で使われていない。
現代では.net MauiやFlutter等がトレンド

┗Xamarin.Android で画面遷移時にデータを渡す
 https://qiita.com/amay077/items/8752e7e5db233f5cc73f
┗Xamarin.Android で Reactive Extensions を使う
 https://qiita.com/amay077/items/8f4b33daa6ca4e4c8c9d

LINQメソッドにShuffleを追加する

https://qiita.com/kuchikios/items/6cfc1140a023e3928a17
ユニークなアイディア。これだと真のランダムとは言えないとのこと。
RandomNumberGeneratorを使うと良い。

参考:C# で乱数を生成する方法

AI生成のCodeでは芸がないので割愛。

あとがき

20015年分までは続ける。

AI生成に頼るだけの 底辺Coder AI依存開発者には限界があります。学ぼう。

$\color{gray}{\tiny \textsf{学習データ増えただけなのを性能が強化されたとか言ってるのウケる。}}$

宣伝

WPFでVisualStudioライクなSpellCheckerを自作した話

nugetで2000ダウンロード行きました。

image.png

59
60
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
59
60

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?