並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 123件

新着順 人気順

".net core"の検索結果1 - 40 件 / 123件

".net core"に関するエントリは123件あります。 .NETC#.NET Core などが関連タグです。 人気エントリには 『【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。』などがあります。
  • 【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。

    はじめに 登壇版 Taskの本質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記

      【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。
    • [速報]マイクロソフト「.NET 5」正式リリース。1つのフレームワークでWindows/Mac/Linuxのデスクトップ、サーバアプリ、Webアプリなどが開発可能に

      [速報]マイクロソフト「.NET 5」正式リリース。1つのフレームワークでWindows/Mac/Linuxのデスクトップ、サーバアプリ、Webアプリなどが開発可能に マイクロソフトは、アプリケーションフレームワークの最新版となる「.NET 5」正式版のリリースを発表しました。 .NET 5は「.NET Framework」と「.NET Core」フレームワークを統合し、その後継となるオープンソースのフレームワークです。 これにより長いあいだマイクロソフトのもっとも重要かつプロプライエタリなフレームワークだった「.NET Framework」が、その地位を正式にオープンソースの「.NET 5」へ譲ることになります。 Announcing .NET 5.0 https://t.co/dwjJTZA399 — .NET (@dotnet) November 10, 2020 .NET 5はWi

        [速報]マイクロソフト「.NET 5」正式リリース。1つのフレームワークでWindows/Mac/Linuxのデスクトップ、サーバアプリ、Webアプリなどが開発可能に
      • 【C#】SOLID原則を学ぼう - Annulus Games

        今回の記事はオブジェクト指向プログラミングにおける設計の基本、「SOLID原則」について。 ある程度プログラミングの文法を知っていれば、動作するコードを書くことは可能です。しかし、より良いコードを書きたいのであれば、文法の知識だけではなく、設計に関する知識も必要になってきます。 特にUnityでは、適当にコードを書いていくと目も当てられないようなスパゲッティーコードが容易に出来上がります。「とりあえずシングルトンにすりゃいいや!」みたいなノリで「何とかManager」クラスを作りまくった結果、「あれ?この処理どこに書いたんだっけ?」という状況になったこと、誰しも一度はありますよね…? 今回は、そんなクソk…良くないコードを書かないための設計原則である「SOLID原則」について紹介します。記事内のコードはC#で記述しますが、言語に関わらずSOLID原則は広く応用の効く考え方なので、是非とも覚

        • .NET 5 を使いたい理由6選 - Qiita

          速いので使いたい 私の場合、ここ数か月で一番素晴らしいニュースだと感じたブログがこれでした。 https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-5/ .NET5 がどれだけパフォーマンス向上のために努力してきたかという内容です。 ものすごいボリュームで読むのが大変でしたが、満足感のある記事でした。 この記事を読んだだけでも、早く.NET 5 を使いたいという気持ちになりました。 パフォーマンスが良くなったという知らせはいつでもエンジニアの気持ちを高揚させるのだと思います。 使いたい理由1 : GCが高速化した いくつものアプローチを重ねたことが記されていました。 GCが到達可能オブジェクトをマークする処理の情報を他のスレッドでも流用できるようにして、各スレッド内の同処理の作業量を一部省略可能にした G

            .NET 5 を使いたい理由6選 - Qiita
          • AWS、Linux対応の.NET Coreへ、Windows用.NET Frameworkアプリの移植支援ツール「Porting Assistant for .NET」発表

            Amazon Web Services(AWS)は、.NET Frameworkを用いて開発されたアプリケーションを、.NET Coreを用いたアプリケーションへ移植するための支援ツール「Porting Assistant for .NET」を発表しました。 .NET FrameworkはWindowsアプリケーションを開発するためのWindows専用フレームワークおよびランタイムとしてマイクロソフトが提供してきたものです。 しかしマイクロソフトは2015年に.NET FrameworkのサブセットとしてWindows、Mac、Linuxに対応したオープンソースの.NET Coreを発表。 2019年には.NET Coreが.NET Frameworkを引き継ぐとして.NET Coreへの開発に注力し、.NET Framworkは現バージョンである4.8以後、新機能の開発は行われなくなるこ

              AWS、Linux対応の.NET Coreへ、Windows用.NET Frameworkアプリの移植支援ツール「Porting Assistant for .NET」発表
            • 私が Azure Functions アプリケーションの開発時に意識していること - しばやん雑記

              ここ数年は Azure Functions をフルに活用したアプリケーションを実装することが多かったのですが、同時に Azure Functions を失敗しないように使う方法も分かってくるので、ここらでちゃんと言語化しておきます。 最近は特に Azure Light-up というハッカソンを行うことが多いのですが、Azure Functions を使う場合には必ずこの辺りは毎回説明するようにしています。要するに Azure Functions の利点・特性を理解して賢く使いこなそうという話です。 Binding / Trigger で実現出来ないか考える Function の実装は出来る限り小さく保つ リトライのしやすい実装を重視する 最新の .NET での作法に沿ったコードを書く Graceful Shutdown に対応したコードを書く 機能単位で Function App プロジェ

                私が Azure Functions アプリケーションの開発時に意識していること - しばやん雑記
              • .NET Core/C#なら“どこでも”動く ~そう、「Windows 3.11」でもね!/Microsoftのなかの人が“Twitter”でやり方を解説【やじうまの杜】

                  .NET Core/C#なら“どこでも”動く ~そう、「Windows 3.11」でもね!/Microsoftのなかの人が“Twitter”でやり方を解説【やじうまの杜】
                • ZString - Unity/.NET CoreにおけるゼロアロケーションのC#文字列生成

                  Cy#の河合です。今回、文字列生成におけるメモリアロケーションをゼロにする「ZString」というライブラリを公開しました。そこで、この記事ではZStringの紹介の他に、あらためてC#の文字列についてを深く分解して解説し、Stringの複雑さと落とし穴、そしてZStringの必要性について解説します。 [GitHub – Cysharp/ZString] 以下の表は `”x:” + x + ” y:” + y + ” z:” + z` という単純な文字列連結においてのパフォーマンス計測です。 それぞれ “x:” + x + ” y:” + y + ” z:” + z ZString.Concat(“x:”, x, ” y:”, y, ” z:”, z) string.Format(“x:{0} y:{1} z:{2}”, x, y, z) ZString.Format(“x:{0} y:

                    ZString - Unity/.NET CoreにおけるゼロアロケーションのC#文字列生成
                  • HttpClient よりも HttpClientFactory を利用したほうが良いかも - 世界のやまさ

                    .NET において REST API を呼び出す際、多くの方が HttpClient を使用すると思いますが、その時の注意点が帝国兵さんの Qiita で書かれています。 qiita.com この記事に書いてある通りで、 HTTP Client インスタンスをいちいち破棄して作成を繰り返していると、CLOSE_WAIT または TIME_WAIT 状態の SNAT ポートが増えてしまい、ポートが枯渇して通信ができなくなります。 具体的には hping3 で繰り返しリクエストを行っているのと同じ状態であると思います。 hping3 の使い方の具体例は宇田さんのサイトをご覧ください。 www.syuheiuda.com さて、 private static readonly HttpClient HttpClient; を使うのも良いと思いますが、 .NET Core 2.1 以降 であれば

                      HttpClient よりも HttpClientFactory を利用したほうが良いかも - 世界のやまさ
                    • .NET Core 3.0 + Windows 10 で WPF 開発 というタイトルで .NET Conf 2019 で登壇してきました - かずきのBlog@hatena

                      登壇資料アップロードしました。 .NET Core 3.0 + Windows 10 で WPF 開発 from 一希 大田 www.slideshare.net 関連記事 基本的に、過去のブログで結構書いてた内容のまとめになります。 WPF 関連 MSIX での自動更新 XAML Islands その 1 XAML Islands その 2 XAML Islands その 3 同じやるなた新しい技術使えたほうが楽しいので、是非デスクトップアプリ開発する機会がある人は虎視眈々と導入機会を伺ってください!

                        .NET Core 3.0 + Windows 10 で WPF 開発 というタイトルで .NET Conf 2019 で登壇してきました - かずきのBlog@hatena
                      • Introducing C# Source Generators - .NET Blog

                        We’re pleased to introduce the first preview of Source Generators, a new C# compiler feature that lets C# developers inspect user code and generate new C# source files that can be added to a compilation. This is done via a new kind of component that we’re calling a Source Generator. To get started with Source Generators, you’ll need to install the latest .NET 5 preview and the latest Visual Studio

                          Introducing C# Source Generators - .NET Blog
                        • BlazorでiOS/Androidネイティブアプリケーションを開発可能にする「Mobile Blazor Bindings」、マイクロソフトが発表

                          BlazorでiOS/Androidネイティブアプリケーションを開発可能にする「Mobile Blazor Bindings」、マイクロソフトが発表 マイクロソフトはWebアプリケーションフレームワーク「Blazor」を用いてiOSとAndroidに対応したネイティブアプリケーションを開発可能にする実験的なプロジェクト「Mobile Blazor Bindings」を、1月14日(日本時間1月15日未明)に開催されたオンラインインベント「.NET Conf Focus on Blazor」で発表しました。 Blazorは、C#と.NET Coreを用いてWebアプリケーションの開発を可能にするフレームワークです。JavaScriptを用いず、C#によるプログラミングだけでSPA(Single Page Application)のWebアプリケーションなどを開発できるため、.NETの知識や経

                            BlazorでiOS/Androidネイティブアプリケーションを開発可能にする「Mobile Blazor Bindings」、マイクロソフトが発表
                          • ZLogger - .NET CoreとUnityのためのゼロアロケーション構造化ロガー

                            Cy#の河合です。今回、.NET CoreアプリケーションとUnityのために新しく「ZLogger」というロガーを公開しました。非常に高速、かつ、以前に紹介したZStringをバックエンドに持つことにより、文字列整形時のアロケーションをなくしています。主に .NET Core 向けに開発したものですが、Unity(IL2CPPやモバイル環境を含む)でも動くように調整してあります。 GitHub – Cysharp/ZLogger 特にコンテナ化において、標準出力は重要です。例えばDatadog LogsやStackdriver Loggingは、コンテナの標準出力から直接ログを収集します。Thw Twelve-Factor App – XI. Logsの項でも、標準出力への書き出しが推奨されています。そのような中で、ローカル環境用の装飾過多なログや、低速なConsole.WriteLin

                              ZLogger - .NET CoreとUnityのためのゼロアロケーション構造化ロガー
                            • neue cc - ProcessX - C#でProcessを C# 8.0非同期ストリームで簡単に扱うライブラリ

                              C#使う人って全然外部プロセス呼び出して処理ってしないよね。というのは、Windowsがなんかそういうのを避ける雰囲気だから、というのもあるのですが、ともあれ実際、可能な限り避けるどころか絶対避ける、ぐらいの勢いがあります。ライブラリになってないと嫌だ、断固拒否、みたいな。しかし最近はLinuxでもばっちし動くのでそういう傾向もどうかなー、と思いつつ。 避けるというのはOSの違いというのもありそうですが、もう一つはそもそも外部プロセスの呼び出しが死ぬほど面倒くさい。ProcessとProcessStartInfoを使ってどうこうするのですが、異常に面倒くさい。理想的にはシェルで書くように一行でコマンドと引数繋げたstringを投げておしまい、と行きたいのですが、全然そうなってない。呼び出すだけでも面倒くさいうぇに、StdOutのリダイレクトとかをやると更に面倒くさい。非同期でStdOutを

                              • .NET Core の設定情報の仕組みをしっかり理解したい方向け基本のキ【その2】 - ecbeing labs(イーシービーイング・ラボ)

                                こんにちは、アーキテクトの小林です。 前回の記事では、さまざまなプロバイダから提供される情報がフラットな KeyValue データ構造に変換され、後勝ち方式でカスケーディングされていることをご紹介しました。 今回の記事では、フラットな設定情報から階層構造を持ったクラスのプロパティに値をバインドする方法と、設定ファイルが更新されたときに自動的に設定情報を再読み込みさせる方法を紹介します。 まだ前回の記事をお読みでない方は以下をお読みください。 blog.ecbeing.tech 最初から用意されている appsettings.json 設定をバインドする さて、ASP.NET Core Web アプリケーションを新たに作成すると、appsettings.json に最初から以下の設定が用意されています。 appsettings.json { "Logging": { "LogLevel":

                                  .NET Core の設定情報の仕組みをしっかり理解したい方向け基本のキ【その2】 - ecbeing labs(イーシービーイング・ラボ)
                                • neue cc - C#のasync/await再考, タイムアウト処理のベストプラクティス, UniTask v2.2.0

                                  お題を3つ並べましたが、記事は逆順で書いていきます!というわけで、UniTask v2.2.0を出しました。改めてUniTask v2とはUnityのためのゼロアロケーションasync/awaitと非同期LINQを実現するライブラリで、とv2リリース時の解説記事を貼っつけましたが、ちょいちょい細かい改善を続けてまして、今回v2.2.0になります。 PlayerLoopへのループ挿入のカスタマイズ対応 現状のUnityはPlayerLoop上で動いていて、Unity 2020.1のリストをここに置いておきましたが、デフォルトでは120個ぐらいのループがエンジンから駆動されています。UpdateループだけでもScriptRunBehaviourUpdate, ScriptRunDelayedDynamicFrameRate, ScriptRunDelayedTasks, DirectorUpd

                                  • .NET Core の設定情報の仕組みをしっかり理解したい方向け基本のキ - ecbeing labs(イーシービーイング・ラボ)

                                    こんにちは、アーキテクトの小林です。 .NET Framework は長年に渡って多くの Windows ベースのアプリケーションの開発現場で採用されてきたものですから、.NET Core への移行は「まだまだこれから」という状態ではないかと思います。 .NET Framework のアプリケーションを .NET Core に移行しようと思ったとき、違いが大きすぎて最初に困惑するポイントが設定情報の管理方法の違いであろうかと思っています。 当社の主力製品である ecbeing も .NET Framework でつくられていますが、ecbeing は EC のパッケージ製品ですのでお客様のニーズに合わせて設定による機能のオンオフや、機能の挙動の変更が可能になっており、非常に多くの設定項目が存在します。 したがって設定情報の管理の柔軟さは ecbeing 社のエンジニアにとっては、とてもとて

                                      .NET Core の設定情報の仕組みをしっかり理解したい方向け基本のキ - ecbeing labs(イーシービーイング・ラボ)
                                    • マイクロソフト、次世代.NETフレームワーク「.NET 5」最初のプレビューリリース。.NET Framework、.NET Core、Xamarinの3つを統合

                                      マイクロソフト、次世代.NETフレームワーク「.NET 5」最初のプレビューリリース。.NET Framework、.NET Core、Xamarinの3つを統合 マイクロソフトは、次世代.NETフレームワークとなる「.NET 5」の最初のプレビューリリースを公開しました。 Announcing .NET 5.0 Preview 1 https://t.co/OE4tYoAEl9 — .NET Team (@dotnet) March 16, 2020 .NET 5は、2019年5月に開催されたイベント「Microsoft Build 2019」で次世代フレームワークとして発表されました。 [速報]オープンソースの「.NET 5」がすべての.NETを引き継ぐ。.NET Frameworkと.NET CoreとXamarinは「.NET 5」に。Microsoft Build 2019 マイ

                                        マイクロソフト、次世代.NETフレームワーク「.NET 5」最初のプレビューリリース。.NET Framework、.NET Core、Xamarinの3つを統合
                                      • neue cc - ConsoleAppFramework - .NET Coreコンソールアプリ作成のためのマイクロフレームワーク(旧MicroBatchFramework)

                                        以前にMicroBatchFramework - クラウドネイティブ時代のC#バッチフレームワークという名前でリリースしていたライブラリですが、リブランディング、ということかでConsoleAppFrameworkに変更しました。それに伴い名前変更による多数の破壊的変更と、全体の挙動の調整を行っています。 github/ConsoleAppFramework 当初の想定ではバッチ、特に機能紹介にあるMulti Batchをメイン機能と捉えて作っていたのですが、最終的には汎用的なコンソールアプリケーション用のフレームワークとして出来上がっていたので、より適正な名前にすることで、多くの人に正しく捉えてもらって、届けられるのではないかと思い、今回の変更に至りました。 といったように、 Microsoft.Extensions の仕組みに乗ってLogging, Configuration, DIな

                                        • File IO improvements in .NET 6 - .NET Blog

                                          For the table presented above, we can see that the GetLength benchmark was taking 1932 ns to execute on average with .NET 5, and only 58.52 ns with .NET 6. The ratio column tells us that .NET 6 was on average taking 3% of .NET 5 total time execution. We can also say that .NET 6 is 33 (1.00 / 0.03) times faster than .NET 5 for this particular benchmark and environment. With that in mind, let’s take

                                            File IO improvements in .NET 6 - .NET Blog
                                          • System.CommandLine 入門 | Yucchiy's Note

                                            コマンドラインアプリケーションを作りたかったのでSystem.CommandLineを利用してみた。その備忘録としてこの記事を記載します。 System.CommandLine とは System.ConmmandLineは.NETでコンソールアプリケーション(CLI)を作るための.NET公式のライブラリです。 触った印象ではライブラリというよりかはフレームワークの立ち位置の印象です。 主にCLIのコマンドライン引数のパースしその結果をCLIアプリケーションの引数などにマッピングしたり、 CLIアプリのエントリーポイントの呼び出し、そしてヘルプなどCLIでよく実装される出力(System.CommandLineではレンダリングと呼んでいる)を自動で行ったりしてくれます。 サンプルアプリを実装してみる command-line-api/Your-first-app-with-System-C

                                              System.CommandLine 入門 | Yucchiy's Note
                                            • Real World .NET Core on Kubernetes

                                              AWS .NET Developer User Group 勉強会 #2 https://jaws-dotnet.connpass.com/event/146583/ フォローアップ: https://www.misuzilla.org/Blog/2019/10/21/RealWorld.NET…

                                                Real World .NET Core on Kubernetes
                                              • [C#].NET6でnullチェックからおさらば! - Qiita

                                                if ( result?.list?.Length > 0 ) { // result?.list?.Any() の方が見やすいが、後々の説明の為にLengthを使用 // 処理 }

                                                  [C#].NET6でnullチェックからおさらば! - Qiita
                                                • ARM64 Performance in .NET 5 - .NET Blog

                                                  Join us on September 18th as we dive deep into building world-class cloud native applications with .NET and Azure. The .NET team has significantly improved performance with .NET 5, both generally and for ARM64. You can check out the general improvements in the excellent and detailed Performance Improvements in .NET 5 blog by Stephen. In this post, I will describe the performance improvements we ma

                                                    ARM64 Performance in .NET 5 - .NET Blog
                                                  • neue cc - 2022年(2024年)のC# Incremental Source Generator開発手法

                                                    このブログでもSource GeneratorやAnalyzerの開発手法に関しては定期的に触れてきていて、新しめだと 2020/12/15 - UnitGenerator - C# 9.0 SourceGeneratorによるValueObjectパターンの自動実装とSourceGenerator実装Tips 2021/05/07 - 2021年のC# Roslyn Analyzerの開発手法、或いはUnityでの利用法 という記事を出していますが、今回 MemoryPack の実装で比較的大規模にSource Generatorを使ってみたことで、より実践的なノウハウが手に入りました。また、開発環境も年々良くなっていることや、Unityのサポート状況も強化されているので、状況を一通りまとめてみようと思いました。Source Generatorは非常に強力で、今後必須の開発技法になるので

                                                    • neue cc - MessagePack for C# v2によるC#における最新のI/Oパイプライン最適化

                                                      MessagePack for C#のVersion 2を本日リリースしました。出る出る詐欺で、一年がかりでリリースまで漕ぎ着けました!とにかくめっちゃ時間かかった、死ぬほど私のリソースが取られていた、ので本当にリリースまで持ってこれてよかった……。めでたし。 今回はとてもOSSっぽく開発していて、メインの開発はMicrosoftのVisual StudioチームのPrincipal Software EngineerであるAndrew Arnottさんが書いています。私はそれに対してひたすら、APIデザインが好きじゃないだの、パフォーマンスが私の基準に満たしてないだの、文句つけまくる仕事をしていました。しかしコードのクオリティはさすがに非常に高くて、私だけだったらここには至れなかっただろうことを考えると、いい感じの共同開発ができたんじゃないかなあと思います。その結果として、一年前に掲示さ

                                                      • Announcing .NET 5.0 - .NET Blog

                                                        Join us on September 18th as we dive deep into building world-class cloud native applications with .NET and Azure. We’re excited to release .NET 5.0 today and for you to start using it. It’s a major release — including C# 9 and F# 5 — with a broad set of new features and compelling improvements. It’s already in active use by teams at Microsoft and other companies, in production and for performance

                                                          Announcing .NET 5.0 - .NET Blog
                                                        • dotnet-5.0のシングルファイルアプリについて - Qiita

                                                          <ItemGroup> <!-- 新しく指定する場合 --> <アイテム種別 Include="[globパターン]" プロパティ名1="プロパティ値1"> <プロパティ名2>プロパティ値2</プロパティ名2> </アイテム種別> <!-- 既存のアイテムに追加したい場合 --> <アイテム種別 Update="[globパターン]" プロパティ名1="プロパティ値1> <プロパティ名2>プロパティ値2</プロパティ名2> </アイテム種別> </ItemGroup> PublishSingleFile この件について、まず挙げられるのがPublishSingleFileフラグだろう。 dotnet publishの実行時、PublishSingleFile=trueプロパティを追加すれば、付随するアセンブリファイルが全て一つの実行可能ファイルにまとめられる。 また、必ずネイティブバイナリ

                                                            dotnet-5.0のシングルファイルアプリについて - Qiita
                                                          • Announcing .NET Jupyter Notebooks

                                                            Jupyter Notebooks has been the significant player in the interactive development space for many years, and Notebooks have played a vital role in the continued popularity of languages like Python, R, Julia, and Scala. Interactive experiences like this give users with a lightweight tool (I like to say "interactive paper") for learning, iterative development, and data science and data manipulation. T

                                                              Announcing .NET Jupyter Notebooks
                                                            • Performance Improvements in .NET 5 - .NET Blog

                                                              In previous releases of .NET Core, I’ve blogged about the significant performance improvements that found their way into the release. For each post, from .NET Core 2.0 to .NET Core 2.1 to .NET Core 3.0, I found myself having more and more to talk about. Yet interestingly, after each I also found myself wondering whether there’d be enough meaningful improvements next time to warrant another post. N

                                                                Performance Improvements in .NET 5 - .NET Blog
                                                              • neue cc - ConsoleAppFramework v5 - ゼロオーバーヘッド・Native AOT対応のC#用CLIフレームワーク

                                                                ConsoleAppFramework v5 - ゼロオーバーヘッド・Native AOT対応のC#用CLIフレームワーク 2024-06-13 ConsoleAppFrameworkの完全に新しいバージョンをリリースしました。完全に設計しなおして実装も完全に作り直された、何もかもが新しいフレームワークになっています。設計指針として「Zero Dependency, Zero Overhead, Zero Reflection, Zero Allocation, AOT Safe」を掲げ、もちろん、他を圧倒的に引き離すパフォーマンスを実現しています。 これはコールドスタートアップ・ウォームアップなしでのベンチマークとなっていて、CLIアプリケーションでの実際での利用に最も即したものだと考えています。System.CommandLineと比較すれば280倍!メモリアロケーション量もほかのフレ

                                                                • [C#] もはや我々はnew ArgumentNullException(...)する必要はない - Qiita

                                                                  null許容参照型が導入された現在でも、引数のnullチェックに事欠かくことのない皆様、いかがお過ごしでしょうか。 今日もnew ArgumentNullException(...)していますか。 しかし、もうこんなことをする必要はないんです。 .NET6以降の世界には ArgumentNullException.ThrowIfNull(object? argument, string? paramName = default) が存在します。 これによって我々は、 public void AMethod(string str) { if (str is null) throw new ArgumentNullException(nameof(str)); ... }

                                                                    [C#] もはや我々はnew ArgumentNullException(...)する必要はない - Qiita
                                                                  • 【C#】SpanとMemory - Annulus Games

                                                                    今回の記事はC#のSpan<T>とMemory<T>について。 現代のC#ではパフォーマンス向上のためにSpanが用いられる機会が非常に多くなっています。.NETでも多くのAPIがSpan<T>を受け入れるようになってきており、パフォーマンスに気を遣ってコードを書く場面ではもはやSpanの活用は必須と言えます。 また、C#ではSpanとは別に似たような型としてMemory<T>も存在しています。こちらは利用する上での制約がSpanと比べて少なく、Spanの代替として主にasyncメソッド内で用いられることが多いです。 そこで今回は、Span<T>やMemory<T>の利用方法や使い分け、またMemory<T>を適切に扱うための指針やIMemoryOwner<T>による所有権の管理についてまでをまとめていきたいと思います。基本的にはSpan<T>の利用のみで事足りますが、Memory<T>が

                                                                    • Get started with ChatGPT in .NET - .NET Blog

                                                                      Catch up on 16 sessions from .NET Conf: Focus on AI exploring how .NET developers can leverage AI libraries and features to build smarter applications, enhance productivity, and provide better user experiences. Welcome back to this blog series on OpenAI and .NET! If you’re new here, check out our first post where we introduce the series and show you how to get started using OpenAI in .NET. The foc

                                                                        Get started with ChatGPT in .NET - .NET Blog
                                                                      • neue cc - R3 - C#用のReactive Extensionsの新しい現代的再実装

                                                                        R3 - C#用のReactive Extensionsの新しい現代的再実装 2024-02-27 先日、新しいC#用のReactive Extensionsの実装としてR3を正式公開しました!R3はRx for .NETを第一世代、UniRxを第二世代とした場合の、第三世代のRxという意味で命名しています。Rxとしてのコア部分(ほぼdotnet/reactiveと同様)は.NET共通のライブラリとして提供し、各プラットフォーム特化のカスタムスケジューラーやオペレーターは別ライブラリに分けるという形により、全ての.NETプラットフォーム向けのコアライブラリと、各種フレームワーク Unity, Godot, Avalonia, WPF, WinForms, WinUI3, Stride, LogicLooper, MAUI, MonoGame 向けの拡張ライブラリを提供しています。 GitH

                                                                        • Performance Improvements in .NET 6 - .NET Blog

                                                                          Great. But now let’s make a small tweak: [Benchmark] public int GetLength() { ITuple t = (5, 6, 7); Ignore(t); return t.Length; } [MethodImpl(MethodImplOptions.NoInlining)] private static void Ignore(object o) { } Here I’ve forced the boxing by needing the object to exist in order to call the Ignore method, and previously that was enough to disable the ability to devirtualize the t.Length call. Bu

                                                                            Performance Improvements in .NET 6 - .NET Blog
                                                                          • .NET Core 3で始めるWPFアプリ開発――.NET Coreって? WPFって?

                                                                            はじめに この連載では、.NET Core 3時代のWPFプログラミングを解説していきます。 前回は、とりあえず簡単なWPFアプリを作ってみました。ユーザーインターフェース(UI)をXAMLで定義し、C#でコーディングするという、WPFプログラミングのイメージをつかんでいただけたと思います。 今回は、この先へ進む前に、.NET CoreとWPFについて解説しておきます。.NET Coreとは、簡単に言ってしまえば.NET Frameworkをリストラクチャ(本来の意味のrestructure、「再構築」)したものです。 WPF(Windows Presentation Foundation)とは、デスクトップ向けWindows用のアプリを開発するためのGUI(Graphical User Interface)フレームワークです。.NET Frameworkまたは.NET Coreのクラスラ

                                                                              .NET Core 3で始めるWPFアプリ開発――.NET Coreって? WPFって?
                                                                            • GitHub - mayuki/Cocona: Micro-framework for .NET console application. Cocona makes it easy and fast to build console applications on .NET.

                                                                              You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                                                GitHub - mayuki/Cocona: Micro-framework for .NET console application. Cocona makes it easy and fast to build console applications on .NET.
                                                                              • .NET everywhere apparently also means Windows 3.11 and DOS

                                                                                I often talk about how .NET Core is open source and runs "everywhere." MonoGame, Unity, Apple Watches, Raspberry Pi, and Microcontrollers (as well as a dozen Linuxes, Windows, etc) is a lot of places. Michal Strehovský wants C# to run EVERYWHERE and I love him for it. He recently got some C# code running in two "impossible" places that are now added to our definition of everywhere. While these are

                                                                                  .NET everywhere apparently also means Windows 3.11 and DOS
                                                                                • C#で使える1msタイマーを探す - Qiita

                                                                                  調査内容 C#かつWindowsで1msのタイマーを使いたい。Threading.TimerやTask.Delay(1)では最短でも15msになるっぽいので他の方法を調べた。 環境 Intel Core i5-8265U CPU @ 1.60GHz 1.80 GHz Windows 10 Pro 22H2 C#, .NET Framework 4.6.2, Debug build Visual Studio Community 2022 (64-bit) Version 17.8.5 調査日:2024年5月6日 2024年5月12日、追加調査。WaitableTimer, WaitableTimerExについて。 テストコード 1ms間隔の繰り返しタイマーを30回実行、毎回経過時間を取得してバッファリングする。最後に時間を出力する。 ※私自身が作成中のライブラリのテストコードの一部として実

                                                                                    C#で使える1msタイマーを探す - Qiita

                                                                                  新着記事