C#

  1. 配列データからの ReadOnlySequence の作成

    警告:このブログ投稿は情報提供を目的としており、好奇心旺盛な人に関連していますが、実験的なものと見なす必要があります。ここに示されているコードは、実際の状況にはあまり適しておらず、十分にテストされておらず、単なる遊び用です! この投稿では、複数の配列に保持されている既存のデータから ReadOnlySequence を作成する方法を示します。この投稿のアイデアは、私の投稿「SequenceReader の紹介」へのコメントから生まれました。この投稿で使用されている種類と用語を理解するには、まずそのブログ投稿を読むことをお勧めします。 私に提起された質問は次のとおりです: 私の最初の答

  2. System.Text.Json ソース ジェネレーターで遊ぶ

    日々の仕事の中で、System.Text.Json の使い方のすべてに慣れてきました。このライブラリに慣れていない方のために説明すると、このライブラリは、.NET Core 3.0 と共に、組み込みの JSON シリアル化ライブラリとしてリリースされました。 リリース時の System.Text.Json は、主に ASP.NET Core シナリオ向けに設計され、JSON との間で入出力の書式設定を処理するために設計された、機能セットにおいて非常に基本的なものでした。このライブラリは、パフォーマンスが高く、一般的なシナリオの割り当てを減らすように設計されています。 System.Text.

  3. System.Text.Json コンバーターを使用したカスタム JSON シリアル化

    これを書いている時点で、Elasticsearch .NET クライアントのいくつかの重要な変更に深く取り組んでいます。変更の 1 つは、クライアント内で使用されるデフォルトのシリアライザーとして System.Text.Json に移行することです。 .NET クライアントに関係するシリアライゼーションには 2 つの「レベル」があります。まず、クエリ DSL とともに、独自のタイプ、リクエストおよびレスポンス モデルのシリアル化があります。そのために、System.Text.Json に 100% 依存します。また、Elasticsearch から読み取ったり、Elasticsearch

  4. 世界最小 (ほぼ) の C# プログラムの作成、検査、逆コンパイル

    この投稿では、世界で (ほぼ) 最短の C# プログラムを作成し、舞台裏で何が起こっているかを詳細に掘り下げるのは楽しいのではないかと考えました。この投稿は、現実の問題を解決することを意図したものではありませんが、時間をかけて読んでいただくだけの価値があることを願っています。私たちが日常的に当たり前と思っている機能のいくつかに飛び込む時間を費やすことで、私たちのコードが実行可能なものにどのように変換されるかについて、一緒に学ぶことができることを願っています. コンソール アプリケーションの作成 新しいプロジェクト ダイアログから [コンソール アプリ] テンプレートを選択して、Visual

  5. C# の機能:革新か模倣か? – パート 3

    パート 1 とパート 2 では、2000 年の誕生から 2015 年の C# 6.0 リリースまで、C# がどのように形成され、何年にもわたって進化してきたかを説明しました。当初、C# は厳密に型指定されたオブジェクト指向言語として生まれました。 Java と Delphi の影響を多少受けており、Java の作成者である James Gosling によって Java の模倣と呼ばれることさえありました。 それ以降のバージョンでは、C# が進化し、ラムダ式を使用していくつかの関数型プログラミング属性を採用しました。 、LINQ および拡張メソッド . C# は、これらの機能により信じられな

  6. C# ジョブ キューの詳細な実装 - パート 1

    プログラミングで最も強力なツールの 1 つは です。 J ob キュー .これは、多くのソフトウェア ソリューションの中核にあるシンプルな概念です。また、特に C# のような用途の広い言語では、非常に興味深いプログラミングの課題でもあります。 プロデューサー/コンシューマーと呼ばれることもあります パターンでは、ジョブ キューは ジョブ を配置することを意味します Queue 内のある種の 、非同期で実行されます 先入れ先出し (FIFO ) 注文。ジョブはキューに入れられます (生成 ) 1 つのエンティティ (スレッド、プロセス、サービス) ごとに実行 (消費) ) 別のエンティティ

  7. C# ジョブ キュー (パート 2) リアクティブな拡張機能とチャネルを使用

    パート 1 では、C# のジョブ キューとは何か、いつ使用する必要があるか、どのように実装するかについて説明しました。 BlockingCollection を使用した優れた実装がいくつか見られました そしてスレッドプール。 これらは素晴らしいものですが、他の実装についても知っておく価値があります。ニーズに応じて、別のタイプのソリューションが適しています。幸いなことに、C# には多くの優れたオプションがあります。この記事では、いくつかの優れた機能について説明します:Reactive Extensions および System.Threading.Channels . Reactive Ext

  8. TPL データフローと障害処理を備えた C# ジョブ キュー (パート 3)

    第 1 部と第 2 部では、ジョブ キューとは何か、ジョブ キューが重要な理由、いくつかの方法でジョブ キューを実装する方法について説明しました。これらのメソッドの一部は、スレッドプールの実装 BlockingCollection でした 実装、Reactive Extensions、および System.Threading.Channels . ジョブ キューは、生産者と消費者の問題とも呼ばれます。先入れ先出し (FIFO) の順序でキューにジョブを追加 (生成) し、それらを処理 (消費) します。いくつかのバリエーションがあります。 それらのバリエーションについて少し話しましょう。ソ

  9. タイプ (の) デザイン チャレンジ

    むかしむかし、最初のプログラミングの仕事で、解決できない設計上の問題がありました。この問題は私を悩ませました。その理由は、とてもシンプルに思えたのに、良い解決策が見つからなかったからです。 最終的には大規模なリファクタリングを行いましたが、正しく解決する代わりに、ある問題を別の問題に変更しただけです。 最近、数年後、別の会社で、私が求めていた素晴らしいソリューションを思いつきました. ですから、何年も前のコードについて考えすぎていることをお伝えするだけでなく、エキサイティングで素晴らしいソリューションを皆さんと共有したいと思います. 課題 Car クラスがあり、エンジンに関する情報が必

  10. C# でのマルチスレッド タイムアウトの課題

    最近、タイムアウトの動作に関する C# のいくつかのバグに対処していました。解決策は非常に興味深いものだったので、共有することにしました。 次のシナリオを検討してください: メッセージを含むダイアログをユーザーに表示します。 15 秒後にダイアログを閉じます。ただし、ユーザーがダイアログを手動で閉じた場合、タイムアウト時に閉じる必要はありません。 長時間の操作を開始します。その操作が 5 秒以上続く場合は、中止してください。 アプリに長時間の操作がある場合は常に、「進行中」のポップアップを表示したいと考えています。この操作がどれだけ続くかはわかりませんが、通常は 1 秒未満です。 「まばた

  11. C# の機能:革新か模倣か? - パート1

    2000 年頃、Microsoft は C# を開発しました。 言語 (Anders Hejlsberg 率いる)。この言語は、.NET フレームワークとともに 重要な戦略的目的を持っていました。 Microsoft は、Windows に結び付けられたより優れた言語を作成し、顧客を Windows エコシステムと Microsoft 製品に誘導します。おそらく、これは悪名高い Microsoft の採用、拡張、消滅戦略 (現在は過去) の一部でした。 この開発は Java に対応して行われました 、それまでに絶大な人気を博しています。 C# はもともと Java と多くの共通点があり、実際

  12. C# の機能:革新か模倣か? - パート2

    パート 1 では、2000 年の誕生から 2008 年の C# 3.0 リリースまで、C# がどのように進化したかを説明しました。 C# は革新的な構文や革新的な機能を導入しませんでした。代わりに、C# は、C++、Java、Scala、および他のいくつかの言語からその機能のほとんどを模倣しました。 Microsoft のやり方と同様に、C# は多くのことを模倣しましたが、オリジナルよりも優れていました。その最も顕著な例はジェネリックです . Generics は Java に存在していましたが、C# の実装はかなり優れています ([1])。 ただし、C# は一連の模倣ではありません。 C

  13. C# 9 のモジュール初期化子

    .NET 5 は、.NET 関係者にとって優れたリリースになりつつあります。C# 開発者は、日々のプログラミングの問題やニッチな最適化を解決するのに役立つ機能をさらに入手できて幸運です。私の目を引いた機能の 1 つは、モジュール初期化子です。 .プラットフォームとしての .NET は目新しいものではありませんが、.NET 5 と C# 9 では、ModuleInitializerAttribute を通じて開発者に概念を紹介します。 クラス。 この投稿では、ModuleInitializerAttribute の使用方法について説明します 、いくつかのシナリオ、およびいくつかの落とし穴。 ​

  14. C# 9 共変の戻り値の型

    私はここに座って「C#9 の新機能」ブログ投稿を読んでいます。この言語にリストされている追加機能の 1 つは、共変の戻り値の型です。 .エキサイティングな機能のように聞こえますが、それは私の日常の開発と API 設計の選択にとって何を意味するのでしょうか?いくつかのわかりやすい例と、それが前進するすべての .NET 開発者にとって何を意味するかを見ていきます。始めましょう! 共分散と反分散の意味 共分散という用語を聞いたことがあります と反変性 ジェネリック構造の動作を説明するために .NET で使用されますが、これらの用語はどういう意味ですか? Covariance より派生したインスタ

  15. C# 9 レコードの落とし穴を避ける

    C# は急速に進化しており、すべての新機能についていくのは大変かもしれません。 C# 9 がリリースされてから 1 か月以上が経ちましたが、最もエキサイティングな機能であるレコード型について、私の考えを整理することをお勧めします。私は決して自分自身を専門家だとは思っていませんし、Microsoft 以外の誰もが 05 の内外を真に知るのに十分な経験を持っているとは思えません。 タイプ。とはいえ、この投稿では「落とし穴」について説明します 12 から移行する際に人々を混乱させる可能性があります 23 まで . 38 を使用する要素は次のとおりです。 バグの原因となる可能性のあるタイプと、特定の

  16. C# 9 で素数を見つける

    コンピューター プログラミングのルーツは数学にしっかりと根ざしており、最も初期のコンピューターは人間が平均して 1 日かかる結果を手作業で計算するために使用されていました。コンピュータ サイエンスの分野における切実な問題の 1 つは、素数の発見です。 . この投稿では、C# 9 を使用して素数を計算する最も簡単な方法を示します。 素数とは? 復習として、素数は自然数です (負でない数) 2 つのより小さい自然数で構成されていない 1 より大きい数。学校では、2、3、5、7、11 という最初の素数に遭遇したことがあるかもしれません。学校では通常、割り算を教えています。 与えられた数の素数を決

  17. C# TCP サーバーで Bebop を使用する

    Web 開発のバックグラウンドを持つ私は、HTTP が私のクライアント/サーバー通信のニーズのほとんどに確実に適合していることに気づきました。正直なところ、ASP.NET を使用する場合、プロトコルについてあまり深く考えることはありません。 HTTP は堅牢なプロトコルですが、TCP 接続を介したデータの送信にはオーバーヘッド コストが伴います。 HTTP は、複数のクライアント/サーバー インタラクションの可能性と、送信可能な豊富なファイル形式をサポートするのに十分な柔軟性を備えている必要があります。 制御されたシナリオでは、HTTP のような柔軟なプロトコルの式典を忘れて、1 つ下の層、

  18. C# パターン マッチングのクイック ガイドと例

    C# の新しいリリースごとに、パターン マッチング C# 開発者向けに改善されました。現在、開発者はパターン マッチングを広く使用していませんが、より多くのチームやアプリケーションがフル フレームワーク (.NET 4.8) からランタイムの新しいバリアント (.NET 5+) に移行するにつれて、その採用が拡大する可能性があります。この言語のほとんどのユニークな機能と同様に、それを受け入れるか、どこでも使用するか、または完全に嫌うという最初の反射的な反応が常にあります。どのキャンプに該当するかに関係なく、C# パターン マッチングを使用する可能性があるため、いくつかの日常的なユース ケースを

  19. C# 10 インターフェイスの静的抽象メンバー

    C# 言語は、言語機能に関するターボ ブースターをオンにしており、人々は追加を好むか嫌うかのどちらかです。意見を言うのは当然ですが、今日は、C# 言語に追加された私のお気に入りの新機能の 1 つと、それを気にする必要がある理由を紹介したいと思います。 インターフェイスの静的抽象メンバー プロジェクトですぐに使用できること、およびフレームワークの作成者やプロジェクトのメンテナーに影響を与える可能性があることから、驚くべきことです。ですから、私と一緒にこの旅に出てください。これらの例を見ながら、必ず自分のユース ケースについて考えてください。それでは、始めましょう。 注:.NET 6 と Lan

  20. C# コレクションを使用したループ アラウンド インデックス

    最近、2022 年に向けて Twitter のヒント デッキを新しい形式に更新しました。Twitter でまだ私をフォローしていない場合は、@buhakmeh をフォローしてください。私は GitHub Actions を使用して既存の画像を調べ、現在の日付に従って画像を選択します。 カルーセルと考えることができます 、次の要素を常に選択したい場所。コレクションの最後に到達したら、ループして最初の項目に戻る必要があります。簡単そうに見えますよね? この投稿では、IndexAtLooped を構築するための 2 つの実装を示します。 IList の拡張メソッド インターフェース。 1 つは最初

Total 13414 -C プログラミング  FirstPage PreviousPage NextPage LastPage CurrentPage:671/671  20-C プログラミング/Page Goto:1 665 666 667 668 669 670 671