rksoftware

Visual Studio とか C# とかが好きです

C# 10 の新機能 - リンク

C#

C# 10 の新機能 - リンク 日本語機能名 英語 リンク レコード構造体 Record structs リンク パラメーターなしの構造体コンストラクター Parameterless struct constructors リンク グローバルな using ディレクティブ Global using directive リンク ファイ…

ピクセル編集は遅い

C#

先日、画像のピクセルを編集する記事を書きました。 rksoftware.hatenablog.com その中で、遅いと書きました。 実際どのくらい遅いのか、5472 x 3648 の画像で全ピクセルを扱うような処理をしてみると雑に 9 秒くらいかかりました。 本当はもっといろいろな…

画像をピクセルで編集する

C#

ある時画像のピクセルを編集したくなることがあるはずです。 皆さんもそういう日があると思います。 ピクセルを扱うのは簡単です。 // 画像を読み込み using System.Drawing.Bitmap bitmap = new new ("test.jpg"); // 1, 2 の位置のピクセルの色を取得 Syst…

mac の再インストールで失敗する

使い込んだ mac をクリーンにするには OS 再インストールをするらしいです。 その際、ディスクを消去しての再インストールとなるのですが、ここでディスクの消去で失敗することがあるようです。 対策 消去、再インストールの前にディスクの空き容量を増やし…

TimeMachine 用の USB 接続の外付けディスクを用意する

TimeMachine 用の USB 接続の外付けディスクを用意する。 TimeMachine 用の USB 接続の外付けディスクを用意したいと思ったとき、必要な容量がわからないというインシデントが発生したのでメモ。 軽く検索すると、必要な容量はディスクを選択した後で見るこ…

Visual Studio のアップデート 16.11.5 がリリースされました。

Visual Studio のアップデート 16.11.5 がリリースされました。 ■ 更新内容 今回はセキュリティのアップデートのようです。 問題の解決 セキュリティに関するアップデート。 なるべく早くアップデート セキュリティのアップデートです。素早くアップデートし…

Visual Studio のアップデート 16.11.4 がリリースされました。

Visual Studio のアップデート 16.11.4 がリリースされました。 ■ 更新内容 今回は主に次のようなアップデートのようです。 問題の解決 多くの C++ 関連の問題。 Windows フォームアプリケーションのデザイナ (主に .NET 版?) 表示中にクラッシュするなどの…

Maui の WinUI がデバッグできた

以前に Maui の WinUI がデバッグできない記事を書きました。 現在、できるようになっていたオデ書き残しておきます。 ■ 環境 Visual Studio 2022 Preview 4.1 6.0.100-rc.1.21463.6 ■ ワークロードの更新 ※必要かは分かりませんが dotnet workload update ■…

ワークロードを更新する

意外とやらないので。というかこれまでやったことない気がします。 dotnet workload update ※参考

Visual Studio でソースファイルを並べて表示する

多分以前にも書いていると思いますが、せっかくなので書いておきます。 前回の記事の画像をとるために使った Visual Studio の機能です。なんとソースファイルと横に並べて表示できます! ■ 手順 ソースファイルを複数開きます。すると普通にタブ表示になり…

global using

これまで暗黙的な global using 関連の記事を何個か書いてきましたが、実は global using は書いていませんでした。 ■ global using どこかの1ファイルで using だけですべてのファイルで using したことになる機能です。 ■ 前提条件 今回のコードを試すに…

Visual Studio 2022 Preview 4 の注目新機能 sync namespaces

Visual Studio 2022 Preview 4 のリリースノートはこちら↓ ■ C# の特徴 C# はソースファイルのフォルダ構造と名前空間を一致させなくてよいという特徴があります。 しかしこの特徴、意図して活用している方は少ないのではないでしょうか? 活用していない場…

Visual Studio 2019 の 16.11.3 がリリースされました

Visual Studio のアップデート 16.11.3 がリリースされました。 最近は機械翻訳でもい感じに翻訳されるのですが見ていきましょう。 ■ 更新内容 問題の解決 Xamarin.iOS プロジェクトでデバッグのターゲットに "Remote Device" が出てこない問題。 スタートメ…

暗黙的な global using ディレクティブをもっと細かく制御する

先日暗黙的な global using ディレクティブについて書きました。 実は暗黙的な global using ディレクティブは .csproj ファイルでもっと細かく制御できます。 ■ Import Remove / Import Include 上に貼ったリンクの通りですが、例えば次のような要素を .csp…

暗黙的な global using ディレクティブによる破壊的変更の回避

先日暗黙的な global using ディレクティブによる破壊的変更について書きました。 記事の中で実際に .NET 5 で通っていたコードが .NET 6 でエラーになるパターンを挙げて確認しました。 ■ DisableImplicitNamespaceImports プロパティ このエラーは、 .cspr…

暗黙的な global using ディレクティブによる破壊的変更

暗黙的な global using ディレクティブについては次を参照してください、 ■ System 名前空間に注目して検証 次のコードは .NET 5 ではまったく問題なくビルドできるコードです。 3 行目の Console は Test 名前空間のクラスとして認識されています。 using T…

テンプレートの C# コードが以前のバージョンでサポートされない

これはあまり問題にならないと思いますが、言われてみれば、入門者とかは結構はまりそうだなと注目した記事です。 簡単に言うと、.NET 6 で作ったプロジェクトはテンプレートの段階で .NET 6 の機能を使っているので、TargetFramework を落とすとエラーにな…

暗黙的な名前空間機能

先日、.NET 6 のコードでは、これまで書く必要があった using ディレクティブが不要になっていると書きました。 これはこういうことだったらしいです。 簡単に抜粋すると 次の using は書かなくていい、ということになります。 System System.Collections.Ge…

とある機能が本当に新機能か確認する

初めて見る機能が、最新環境での新機能か確認したいこと、とてもよくありますよね? そんな時私がやってしまうのがこれ この記事のような方法で TargetFramework を一つ前のバージョンに設定してみます。 実践 .NET 6 ではエラーが出ていないコードが .NET 5…

using 不要

詳細はこれから調べたいと思います。 これまでの C# 次のコードはエラーになります。実際にエラーになっていることがわかるよう画像で貼っておきます。 ※一部抜粋ではなく全コードです。 using System; using System.Linq; がないのでエラーになっています。…

TargetFramework を変更する

以前に書いた関連記事。 概要 .csproj ファイルを編集します。 現在の最新プレビュー版の .NET 環境だと作っただけの .csproj ファイルはこんな感じかと思います。 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <Nullable>enable</Nullable> </PropertyGroup> </Project> このファイルの <TargetFramework> を変更すれば …</targetframework>

Window のシステムメニューをコマンドで表示する

これです。 ウィンドウの左上のアイコンをクリックすると出るやつです。 このメニューは Alt + Space キーで表示できます。 まあ、通常はマウスでクリックすればいいのであまり使う機会はないかもしれません。 ウィンドウがどこにいても使える この方法には…

ファイルを同時に読んで書いてしてみる

概要 冒頭のリンクの中の Reading & Writing Files という項目が気になったので動かしてみました。 新しいファイル読み書きの API ですね。一つのファイルを並行で 3 処理で読み書きしでみました。 以前に読んでみただけの記事はこちら 読むために必要なもの…

ファイルを同時に読んでみる

概要 冒頭のリンクの中の Reading & Writing Files という項目が気になったので動かしてみました。 新しいファイル読み書きの API ですね。 試しに一つのファイルを並行で 2 処理で読んでみています。 コード コード using SafeFileHandle handle = File.Ope…

dotnet コマンドで使われる dotnet のバージョンを指定する

概要 ディレクトリに global.json ファイルを作って設定を書いておくとそのバージョンが使われます。 作り方 コマンドで簡単に作れます。 最後で指定しているバージョンになります。 dotnet new globaljson --sdk-version 5.0.301 注意 指定するバージョンを…

Maui の WinUI がデバッグできない

この下の方のプロジェクトがデバッグ実行できなくて試行錯誤しています。 ネットの海をさまようと以前のバージョンの際に書かれた記事では皆さんデバッグ実行できていたようなので。 ちなみにデバッグはできなくても、Deploy は可能なので Deploy したものを…

Visual Studio 2022 で Android エミュレーターを起動する

特に何ということもないのですが、気になったので。 まだ、Visual Studio 2022 はプレビュー段階だし触っていない方もいるかもしれないしということで記事に書いておきます。 ■ 結論 これまでと、何も変わっていないし、過去を知らなくてもメニューをポチポ…

MAUI の Preview 7 が出たので環境を作って実行してみた

アナウンスがこちら。 ■ 今回私がやったこと タイトル詐欺で、実は Preview 7 とか全然関係なく、単純に私が時間がとれたので MAUI を動かしてみただけの記事です。 ■ 準備 Visual Studio 2022 の Preview 3 を用意します。 .NET 6 の Preview 7を用意します…

DataTable で XML を使う

.NET の System.Data.DataTable。みんな大好きですよね? 実はあまり知られていない事実ですが、DataTable は XML を扱えます。 using System.Data; // 中身を XML ファイルに出力 { var dt = new DataTable(); dt.TableName = "saitama"; dt.Columns.Add("n…

.NET で SQLite を使う まとめ

.NET で SQLite を使ってみます。 過去に書いたい着くかの記事のまとめです。 今回の流れ NuGet からパッケージインストール データベースファイルを作って テーブルを作って テーブルの定義を読んで データを Insert して データを Select します NuGet か…