C#

  1. 過負荷の解決

    # 基本的なオーバーロードの例 このコードには、Hello という名前のオーバーロードされたメソッドが含まれています : class Example { public static void Hello(int arg) { Console.WriteLine("int"); } public static void Hello(double arg) { Console.WriteLine("double"); } public static void M

  2. 式ツリー

    # ラムダ式で式ツリーを作成 以下は、ラムダによって作成される最も基本的な式ツリーです。 Expression<Func<int, bool>> lambda = num => num == 42; 「手で」式ツリーを作成するには、 Expression を使用する必要があります クラス。 上記の式は次と同等です: ParameterExpression parameter = Expression.Parameter(typeof(int), "num"); // num argument ConstantExpression co

  3. イベント

    イベントとは、何かが発生したこと (マウス クリックなど)、または場合によっては発生しようとしている (価格変更など) という通知です。 クラスはイベントを定義でき、そのインスタンス (オブジェクト) はこれらのイベントを発生させることができます。たとえば、ボタンには、ユーザーがクリックしたときに発生する Click イベントが含まれている場合があります。 イベント ハンドラーは、対応するイベントが発生したときに呼び出されるメソッドです。たとえば、フォームには、フォームに含まれるすべてのボタンの Clicked イベント ハンドラーが含まれる場合があります。 # イベントの宣言と発生 #

  4. INotifyPropertyChanged インターフェイス

    # C# 6 での INotifyPropertyChanged の実装 INotifyPropertyChange の実装 インターフェイスはプロパティ名を文字列として指定する必要があるため、エラーが発生しやすい可能性があります。実装をより堅牢にするために、属性 CallerMemberName 使用できます。 class C : INotifyPropertyChanged { // backing field int offset; // property public int Offset { get {

  5. プロパティの初期化

    # C# 6.0:自動実装プロパティの初期化 getter および/または setter を使用してプロパティを作成し、すべてを 1 行で初期化します。 public string Foobar { get; set; } = "xyz"; # バッキング フィールドによるプロパティの初期化 public string Foobar { get { return _foobar; } set { _foobar = value; } } private string _foobar = "xyz"; # コンストラクターでのプ

  6. プロパティ

    # 自動実装プロパティ 自動実装プロパティは C# 3 で導入されました。 自動実装されたプロパティは、空のゲッターとセッター (アクセサー) で宣言されます: public bool IsValid { get; set; } 自動実装プロパティがコードに記述されると、コンパイラは、プロパティのアクセサーを介してのみアクセスできる非公開の匿名フィールドを作成します。 上記の自動実装されたプロパティ ステートメントは、次の長いコードを記述することと同じです: private bool _isValid; public bool IsValid { get { return

  7. 汎用 Lambda クエリ ビルダー

    # QueryFilter クラス このクラスは、述語フィルターの値を保持します。 public class QueryFilter { public string PropertyName { get; set; } public string Value { get; set; } public Operator Operator { get; set; } // In the query {a => a.Name.Equals("Pedro")} // Property name to filter - proper

  8. ラムダ式

    # ラムダ構文を使用してクロージャーを作成する クロージャの説明については、備考を参照してください。インターフェースがあるとします: public interface IMachine<TState, TInput> { TState State { get; } public void Input(TInput input); } そして、以下が実行されます: IMachine<int, int> machine = ...; Func<int, int> machineClosure = i => { machine

  9. はじめに:C# を使用した Json

    次のトピックでは、C# 言語とシリアライゼーションとデシリアライゼーションの概念を使用して Json を操作する方法を紹介します。 # 簡単な JSON の例 { "id": 89, "name": "Aldous Huxley", "type": "Author", "books":[{ "name": "Brave New World", &

  10. オーバーフロー

    # 整数オーバーフロー 整数が格納できる最大容量があります。そして、その限界を超えると、マイナス側にループバックします。 int の場合 、それは 2147483647 です int x = int.MaxValue; //MaxValue is 2147483647 x = unchecked(x + 1); //make operation explicitly unchecked so that the example also works when the check for arithmetic overflow/und

  11. 診断

    # TraceListeners によるログ出力のリダイレクト TextWriterTraceListener を Debug.Listeners コレクションに追加することで、デバッグ出力をテキスト ファイルにリダイレクトできます。 public static void Main(string[] args) { TextWriterTraceListener myWriter = new TextWriterTraceListener(@"debug.txt"); Debug.Listeners.Add(myWriter); Debug.Wri

  12. スタックトレースを読んで理解する

    スタック トレースは、プログラムをデバッグする際に非常に役立ちます。プログラムが例外をスローしたとき、および場合によってはプログラムが異常終了したときに、スタック トレースを取得します。 # Windows フォームでの単純な NullReferenceException のスタック トレース 例外をスローする小さなコードを作成しましょう: private void button1_Click(object sender, EventArgs e) { string msg = null; msg.ToCharArray(); } これを実行すると、次の例外とスタック

  13. C# 3.0 の機能

    # 暗黙的に型指定された変数 (var) var キーワードを使用すると、プログラマはコンパイル時に変数を暗黙的に型指定できます。 var 宣言は、明示的に宣言された変数と同じ型です。 var squaredNumber = 10 * 10; var squaredNumberDouble = 10.0 * 10.0; var builder = new StringBuilder(); var anonymousObject = new { One = SquaredNumber, Two = SquaredNumberDouble, Three = Builde

  14. C# 4.0 の機能

    # オプションのパラメータと名前付き引数 その引数がオプションの引数である場合、呼び出しでその引数を省略できますすべてのオプションの引数には独自のデフォルト値があります値を指定しない場合、デフォルト値を取りますオプションの引数のデフォルト値は 一定の表現。 列挙型や構造体などの値型である必要があります。 default(valueType) の形式の式でなければなりません パラメータリストの最後に設定する必要があります デフォルト値を持つメソッド パラメータ: public void ExampleMethod(int required, string optValue = &quo

  15. C# 5.0 の機能

    # 非同期 &待機 async そして await スレッドを解放し、操作が完了するのを待ってから先に進むことにより、パフォーマンスを向上させることを目的とした 2 つの演算子です。 長さを返す前に文字列を取得する例を次に示します: //This method is async because: //1. It has async and Task or Task<T> as modifiers //2. It ends in "Async" async Task<int> GetStringLengthAsync(string URL){

  16. C# 6.0 の機能

    この C# 言語の 6 回目の繰り返しは、Roslyn コンパイラによって提供されます。このコンパイラは .NET Framework のバージョン 4.6 でリリースされましたが、下位互換性のある方法でコードを生成して、以前のフレームワーク バージョンをターゲットにすることができます。 C# バージョン 6 のコードは、.NET 4.0 との完全な下位互換性を保ってコンパイルできます。以前のフレームワークにも使用できますが、追加のフレームワーク サポートを必要とする一部の機能は正しく機能しない場合があります。 # 例外フィルター 例外フィルターを使用すると、開発者は条件を追加できます (b

  17. C# 7.0 の機能

    C# 7.0 は C# の 7 番目のバージョンです。このバージョンにはいくつかの新機能が含まれています:タプルの言語サポート、ローカル関数、out var 宣言、桁区切り、バイナリ リテラル、パターン マッチング、スロー式、ref return と ref local および拡張式本文メンバー リスト。 公式リファレンス:Whats new in C# 7 # タプルの言語サポート # 基本 タプル 要素の順序付けられた有限リストです。タプルは、タプルの各要素を個別に操作するのではなく、1 つのエンティティをまとめて操作し、リレーショナル データベースの個々の行 (つまり、「レコード」

  18. XmlDocument と System.Xml 名前空間

    # XmlDocument と XDocument (例と比較) Xml ファイルを操作する方法はいくつかあります。 XML ドキュメント XDocument XmlReader/XmlWriter LINQ to XML の前は、属性や要素などを追加するような XML での操作に XMLDocument を使用していました。現在、LINQ to XML は同じ種類のものに XDocument を使用しています。構文は XMLDocument よりもはるかに簡単で、最小限のコードで済みます。 また、XDocument は XmlDocument よりもはるかに高速です。 XmlDo

  19. IQueryable インターフェイス

    # LINQ クエリを SQL クエリに変換する IQueryable そして IQueryable<T> インターフェイスを使用すると、開発者は LINQ クエリ (「言語統合」クエリ) をリレーショナル データベースなどの特定のデータソースに変換できます。 C# で記述された次の LINQ クエリを見てみましょう: var query = from book in books where book.Author == "Stephen King" select book; 変数 books の場合 I

  20. 反射

    リフレクションは、実行時に動的オブジェクト プロパティにアクセスするための C# 言語メカニズムです。通常、リフレクションは、動的オブジェクト タイプとオブジェクト属性値に関する情報を取得するために使用されます。たとえば、REST アプリケーションでは、リフレクションを使用して、シリアル化された応答オブジェクトを反復処理できます。 備考:MS ガイドラインによると、パフォーマンス クリティカルなコードはリフレクションを避ける必要があります。 https://msdn.microsoft.com/en-us/library/ff647790.aspx を参照してください # 型のメンバーを取得

Total 13414 -C プログラミング  FirstPage PreviousPage NextPage LastPage CurrentPage:4/671  20-C プログラミング/Page Goto:1 2 3 4 5 6 7 8 9 10