タグ

2021年9月28日のブックマーク (10件)

  • .NET Multi-platform App UI(.NET MAUI)の要点まとめ - Qiita

    マイクロソフト社の開発者向けカンファレンス「Microsoft Build 2020」で発表された新しいクロスプラットフォームフレームワーク「.NET Multi-platform App UI(.NET MAUI)」について、要点をまとめておきます。 概要 「.NET Multi-platform App UI(.NET MAUI)」は、単一のソースコードで複数のプラットフォームで動作するアプリケーションを開発できるクロスプラットフォームフレームワークです。 Xamarin の後継フレームワークとして位置付けられており、名称は変わりましたが「Xamarin の新バージョン」と捉えても問題ないと思います。 従来の XAML や MVVM に加え、新たに RxUI や MVU(Model-View-Update) がサポートされます。 対応プラットフォームは iOS、Android、Linu

    .NET Multi-platform App UI(.NET MAUI)の要点まとめ - Qiita
    mk18
    mk18 2021/09/28
  • マイクロソフト「.NET 6」初めてのプレビュー版リリース。Xamarin統合、マルチプラットフォームUI、Blazorでデスクトップアプリ、Apple M1ネイティブなど

    マイクロソフト「.NET 6」初めてのプレビュー版リリース。Xamarin統合、マルチプラットフォームUIBlazorデスクトップアプリ、Apple M1ネイティブなど マイクロソフトはオープンソースで開発されているフレームワーク「.NET」の次バージョン「.NET 6」の最初のプレビュー版「.NET 6 Preview1」をリリースしたと発表しました。 Announcing .NET 6 Preview 1 https://t.co/z0mkcA6c0m — .NET (@dotnet) February 17, 2021 「.NET」は、Windowsアプリケーションのためのフレームワークとして登場した「.NET Framework」と、その後に登場したMacLinuxに対応するオープンソースの「.NET Core」を統合し、その後継となったフレームワークです。 .NETの最初の

    マイクロソフト「.NET 6」初めてのプレビュー版リリース。Xamarin統合、マルチプラットフォームUI、Blazorでデスクトップアプリ、Apple M1ネイティブなど
    mk18
    mk18 2021/09/28
    “マルチプラットフォームのUIキットも登場 ”
  • Span<T>構造体

    Span<T>型は「連続したメモリ領域とその操作」を抽象化して、元のメモリ領域の種類によらず、それらを統一的かつ効率的に扱えるようにするもの。 連載「Dev Basics/Keyword」 Span<T>型は「連続したメモリ領域を表現する」値型。配列やスタックに確保されたメモリ領域、.NETの管理外にあるメモリ領域などを統一的かつ効率的に扱える。 Span<T>型を使うには 稿執筆時点(2017年12月25日)では、Span<T>型を利用するにはSystem.MemoryパッケージをNuGetからインストールする必要がある。また、一部の機能は.NET Core 2.1(現時点ではプレビュー段階)でのみサポートされており、.NET Frameworkではサポートされないものもある(稿では.NET Core 2.1 Previewと、dotnet.myget.orgからプレビュー版のSys

    Span&lt;T&gt;構造体
    mk18
    mk18 2021/09/28
  • C# Span構造体なるものがあるらしい - はかせのラボ

    あいさつ Span構造体 is 何? 使ってみる ref構造体? Span is 使えない子? あとがき あいさつ どうも、はかせです。 今日は学校にいるときも家に帰ってからも IL2CPPで吐いたソリューションのビルドが出来ず あーでもないこーでもないとやってました。 結果一応ビルドはできたものの動確は 明日学校でという感じです。 そんなこんなで今日のネタがなく ufcppさんのところでC#の勉強をしていたんですが、 そこでSpan構造体ってものを見かけました。 C#触り始めて何年目だよって言われそうですが 初見のものでした。 なので今回はそのメモ記事です。 Span構造体 is 何? 配列の一部分のビュー的なものらしいです。 要はこんな感じ 配列の一部分の参照を持ってくれるので Spanでとってきたものを弄ったらその変更は 元の配列にまで伝わるみたいです。 使ってみる とりあえずてけと

    C# Span構造体なるものがあるらしい - はかせのラボ
    mk18
    mk18 2021/09/28
  • C# - Span のすべて: .NET の新しい頼みの綱を探索する

    Memory<T> の _object フィールドは T[] ほど厳密に型指定されていないのがわかります。それどころか、オブジェクトとして格納されます。これは、System.Buffers.OwnedMemory<T> のように、Memory<T> では配列以外の対象をラップできることを強調しています。OwnedMemory<T> は抽象クラスで、プールから取得されたメモリなど、有効期間を厳しく管理する必要があるデータをラップするために使用できます。これは、今回扱う範囲を超えた高度なトピックですが、この方法で Memory<T> を使用することで、たとえば、ポインターをネイティブ メモリにラップできます。ReadOnlyMemory<char> も、ReadOnlySpan<char> と同様、文字列で使用できます。 Span<T> と Memory<T> を .NET ライブラリと統合す

    C# - Span のすべて: .NET の新しい頼みの綱を探索する
    mk18
    mk18 2021/09/28
  • 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#文字列生成
    mk18
    mk18 2021/09/28
  • 【C#】Span<T>構造体を使ったバイナリファイルの読み書き - PG日誌

    .NET Core 時代になって Span 構造体が追加されて、FileStream クラスとか BitConverter が標準で対応し始めたのでバイナリデータの効率的な入出力が簡単になってるようなので実験。 条件 バイナリデータで float 型を5件書き込んだファイルを用意する そのファイルを Span 対応のAPIで読みだす FileStreamクラス Bitconverterクラス string filePath = @"d:\file.bin"; int len = 5; // ファイルに20件分のfloatデータを書き出す using (var wfs = new FileStream(filePath, FileMode.OpenOrCreate)) { Random r = new Random(); for (int i = 0; i < len; i++) { flo

    【C#】Span<T>構造体を使ったバイナリファイルの読み書き - PG日誌
    mk18
    mk18 2021/09/28
  • Span<T>を使うべき5つの理由 - Qiita

    C# 7.2からSpan構造体というのが使えるようになって、こいつが結構すごいやつなんだが、いかんせん日語記事が少ない。なら自分で書いて広めるしかないんじゃい!ということで、なんとなくでも凄さが伝わればいいなって思います。 マサカリぶんぶん大歓迎。 はじめに:Hello World ランタイムが.Net Core2.1以降なら標準で使える。 それ以外の場合はNugetでSystem.Memoryというパッケージを入れよう。 それから、言語の方もC# 7.2以上が必要。 Visual Studio 2017でプロジェクトを作った場合、デフォルトではC# 7.0になっているので引き上げておこう。 で、Span<T>ってなんぞ? A. とりあえず、配列っぽい何かと思っておけばいい。 正確に言うなら、配列の一部分のビューである。 次のコードでは、arrayのビューとしてspanを作っている。 u

    Span<T>を使うべき5つの理由 - Qiita
    mk18
    mk18 2021/09/28
  • C#でOpenXML SDKを使ってPowerPointファイル(*.pptx)の出力を行う

    はじめに この記事はC#でMarkdownをパースしてオリジナルの出力を行う(markdigを使用)の続編です。 上記記事の中で書いたMarkdownを PPTXにするツールはOpenXML SDKを使用してPPTXファイルを作成しています。 このOpenXML SDKの使い方が最初すごい苦労したのでその部分について今回の記事は書くことにしました。 なお作成したMarkdownをPPTXに変換するツールはGithubにあげてあります。 OpenXMLとは Office2007から使われだしたファイルフォーマットでXMLファイルをzipで固めたものです。 そのためファイルの拡張子を.zipに変更してから解凍すると、中に入っているXMLファイルを見ることができます。 以前のバイナリ形式とは違いOfficeがインストールされていない環境でも作成することができます。 作成する環境 以下の感じです

    C#でOpenXML SDKを使ってPowerPointファイル(*.pptx)の出力を行う
    mk18
    mk18 2021/09/28
  • C#でExcelのセルから値を取得する (Open XML)

    C#から Microsoft Office のエクセルファイルを操作したい事は意外とあると思います。 エクセルを操作するライブラリはいくつかありますが Open XML SDK というライブラリを使って操作してみます。 ここではエクセルファイルの中から特定のセルのデータを取得する方法について解説します。 using System; using System.Data; using System.Linq; using DocumentFormat.OpenXml; using DocumentFormat.OpenXml.Packaging; using DocumentFormat.OpenXml.Spreadsheet; namespace ConsoleApplication1 { class Program { static void Main() { var fileName =

    C#でExcelのセルから値を取得する (Open XML)
    mk18
    mk18 2021/09/28