C#

システム開発

ValidateAntiForgeryToken の使い方とセキュリティ対策

Webアプリケーションのセキュリティを強化するために、CSRF(クロスサイトリクエストフォージェリ)対策は欠かせません。ASP.NET MVCやASP.NET Coreでは、ValidateAntiForgeryToken を利用して簡単に...
システム開発

【C#】拡張メソッド(Extension Method)サンプル!

C#の拡張メソッド(Extension Method)は、既存のクラスを変更せずに新しいメソッドを追加できる便利な機能です。特に、ライブラリのソースコードを変更できない場合や、特定の型に対して共通の処理を追加したい場合に役立ちます。本記事で...
システム開発

【C#】配列やListをソートする方法

C#で複雑なデータ構造を扱う際、クラス内にリスト(List<T>)や配列(T[])を持つオブジェクトの並び替えが必要になることがあります。例えば、「List<AAA>の各要素がList<BBB>を持っている」ような場合、親オブジェクト(AA...
システム開発

【C#】ネスト構造のソート

親子関係があるクラスで子クラスのデータに沿ってソートを行う方法!📌 並び順の結果(クラスBBBのAAAプロパティで並べる)A=Y, B=1, BBB.AAA=5, BBB.BBB=10A=X, B=3, BBB.AAA=5, BBB.BBB...
システム開発

【C#】条件付きや関連項目の入力チェックをスマートに書くテクニック

C#のデータバリデーションを実装するとき、IValidatableObject インターフェースを活用すると、モデル単位で柔軟な検証ロジックを組み込めます。特に、DataAnnotations の属性だけでは実装できないカスタムバリデーショ...
システム開発

【C#】ArrayList vs List:どちらを使うべき?

C#で可変長のコレクションを扱う際、「ArrayList」と「List<T>」のどちらを使うべきか迷ったことはありませんか? どちらも要素の追加・削除が可能なコレクションですが、使いどころによってはパフォーマンスや型安全性に大きな違いが生じ...
システム開発

Serializable属性の基本と注意点

C#でオブジェクトをシリアライズ(直列化)する方法を知っていますか?属性を使うことで、オブジェクトの状態をファイルやデータベース、ネットワーク通信などに保存・復元できるようになります。本記事では、Serializable属性の基本的な使い方...
システム開発

【C#】IPagedListとは?ASP.NETアプリでのページネーション!

Webアプリ開発で、大量のデータを効率的に表示する方法に悩んでいませんか?特に、ASP.NETアプリケーションでは、データをすべて1ページに表示するとパフォーマンスが低下し、ユーザーエクスペリエンスも悪化します。そこで便利なのが、IPage...
システム開発

C#の非同期処理を徹底解説!async/awaitの基本から実践テクニックまで

C#で非同期処理を実装する際、「async/awaitの使い方がよく分からない」「どの場面で使うべきか判断できない」と悩んでいませんか?非同期処理は、アプリケーションのパフォーマンスを向上させるために不可欠な技術ですが、誤った実装をするとデ...
システム開発

C#におけるシャローコピーとディープコピーの違いを徹底解説!

オブジェクトのコピーを行う際に、「シャローコピー(Shallow Copy)」と「ディープコピー(Deep Copy)」の違いを理解していますか?「オブジェクトをコピーしたつもりが、元のデータまで変更されてしまった…」そんな経験がある方も多...