Browser Playground Explore Avalonia UI entirely in the browser
Browser Playground Explore Avalonia UI entirely in the browser
目的 Windows上でタッチパッドのタッチ位置を捕捉する機能は、.NETでは標準で提供されていませんが、これをWin32のRaw Input APIで.NETから捕捉できるようにします。内容的には、TouchpadGestures AdvancedのC++のコードに基本的にならって、C#のP/Invokeで実行するようにしたものです。 背景 タッチパッド(タッチパネルにあらず)からの入力は、.NETではマウスの動きに変換された後に扱うようになっていて、タッチパッドの入力を直接扱えるようにはなっていません。それで実用的に困ることはないですし、タッチ操作用のデバイスとしてはタッチスクリーンの方が優れているので、タッチパッドにこだわる必要もないです。 ただ、入力デバイスの選択肢としてあって困ることはなく、その一方で先行例が見つからず手が出なかったのですが1、@kamektxさんのTouchpa
祝 .NET 6 GA アドベントカレンダー、23日の記事になります。 .NET 6 のリリースに伴い、C# の言語バージョンがついに 10.0 となりました。 C# の進化は早く、ちょっと気を抜いている隙に、見たことのない書き方のコードがどんどん出現します。 その一方で、業務の現場では、5年前10年前に書かれたソースコードを保守することも決して珍しくありません。 新しいコードでも古いコードでも、「なんだっけこれ?」という書き方がでてきたときに、同じことを従来の書き方/現在の書き方でどうやるかのリファレンスにできるよう、主要な機能・構文ごとに縦断的に整理してみました。 以下お品書きです。 プロパティ 値の参照渡し クラス・構造体・レコード コレクションと LINQ タプル 変数の文字列化 null の扱い 型推論 メンバ名の参照 非同期処理・並列処理 IDisposable と using
はじめに C#におけるasync/awaitを使う上で、絶対に意識しないといけないものは「キャンセル処理」です。 正しく処理をキャンセルしないとメモリリークを起こしたり、デッドロックやデータ不整合を引き起こす可能性があります。 今回はこの「async/awaitにおけるキャンセル処理」について話します。 対象 C#におけるasync/await全般 Task/ValueTask/UniTaskすべてに共通します Unity含む C#のasyc/awaitについてイマイチ自信が持ててない人 先に「結論」 asyncメソッドはCancellationTokenを引数に取るべき await対象が引数にCancellationTokenを要求する場合は省略せずに渡すべき OperationCanceledExceptionの取り扱いを意識するべき 解説 そもそも「キャンセル」とは何を指すのか そも
ここでは C# でソルト付きのパスワードハッシュを生成する具体的な方法を紹介します。 今回は SHA256 を使う方法と、PBKDF2 を用いてストレッチングを行なう具体的な方法を示します。 RNGCryptoServiceProvider によるソルトの生成 ソルトを生成するには RNGCryptoServiceProvider を利用できます。 RNGCryptoServiceProvider は暗号サービスプロバイダ (Cryptographic Service Provider) の乱数生成用の関数です。 const int SALT_SIZE = 24; public static string GenerateSalt() { var buff = new byte[SALT_SIZE]; using (var rng = new RNGCryptoServiceProvide
MailKitの使い方! エンコーディング指定や添付ファイをメールで送信する方法[C#/VB Tips] 2021年2月10日水曜日 C# MailKit VB MailKitを使ってメールを送るサンプルコードです。(C#)MailKitでメールを送るサンプルです。 UTF8/iso-2022-jpのエンコーディング指定、GMail/YahooのSMTPサーバで送るなど、4つのサンプルコードでMailKitの使い方を紹介します。 スポンサーリンク MailKitって何? ** 2017年に.NET標準のSystem.Net.Mail.SmtpClientが廃止予定となり、Microsoftより、今後はオープンソースライブラリである、MailKitに置き換えるとアナウンスがありました。 既に現在では、SmtpClientは非推奨にとなっており、今後は廃止されていきます。現在、SmtpClie
.NETのリフレクションが遅い のは周知の事実ですが、なぜなのでしょうか。この投稿では、リフレクションの 実装 を見ながらなぜ遅いのかを解明します。 CRL型システム設計目標 リフレクションが速くない理由の1つとして、そもそも 高いパフォーマンス が設計上の目標にされてはいないことを挙げることができます。 型システム概要 – 設計の目標および非目標 では次のように記載されています。 目標 コード(リフレクションではない)の実行時に必要となる情報へのアクセスが高速なこと。 コード生成のためにコンパイル時に必要となる情報へのアクセスが容易であること。 ガベージコレクタ/スタックウォーカが必要な情報へアクセスする時に、ロックを解除したりメモリを割り当てたりしなくてよいこと。 一度にロードされる型の数が最小限であること。 指定された型をロードする時、ロードする数が最小限であること。 型システムのデ
ValueObjectは好きですか?私は大嫌いです。いじょ。 ざっくり言えばプリミティブ型に専用の型を付ける教義です。例えばUserIdをintとして扱っているとTeamIdと取り違えるかもしれないし、Hpに突っ込んでしまうかもしれない。StrengthとIntelligenceとAgilityとSpeedは別物なのだから全部intじゃなくて区別して欲しい、そうじゃないと間違った演算しちゃうぞ、と。まぁそういう自体を避けるために、それぞれラップした個別型を作るのです。int strengthじゃなくてStrength strengthだぞ、と。 これは一見正しく実際正しいのですが、問題もあります。一つに面倒くさい。ラップしたctorを作るのだけでも定形でウザ、と思いますが、更に等値とか実装するのは面倒くさい。また、そのままだと計算できなくなるので、算術演算のために生の値を.Valueで取り
LINQでクエリを作成していると、どうしてもしたくなるのが 動的にクエリの条件とかを指定したいな〜という願望です。 本来、型セーフな状態で利用するのが一番いいのですが 業務ではそうも言ってられない時も多いです。 そんなときは、以下のDynamic Query Libraryを利用すると ちょっとだけ幸せになれるかもしれません。 動的 LINQ (パート 1: LINQ 動的クエリライブラリの使用)(Chica @ Wankumaさんのブログより) http://bit.ly/9ZSxY5 Dynamic LINQ (Part 1: Using the LINQ Dynamic Query Library) http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-
OrderBy Column Name as String using Linq C# .Net Dynamic Sorting of Anonymous Types If you’re familiar with Linq, you have undoubtedly used the popular “OrderBy” extension method. Unfortunately, this method does not accept a string value with the column name. var data = from i in db.tablename select i; repeatername.datasource = data.OrderBy(i=>i.columnname); //this works repeatername.datasource =
なんとブログ書くのは3ヶ月ぶり近い!えー、うーん、そんな経っちゃってるのか、こりゃいかん。と、いうわけかでWPFアプリを入り用で作ったんですが、見た目がショボくてゲッソリしてました。WPFでアプリ書いても別に綺麗な見た目にならんのですよね、むしろショボいというか。自分でデザイン作りこんだりなんて出来ないし、でもWPFのテーマ集なんかを適用してもクソダサいテーマしかなかったりして一層ダサくなるだけで全く意味ないとかそんなこんなんで、まぁ割とげっそりだったのですが、Material Design In XAML Toolkitは相当良い!良かった、のでちょうど手元に作り中のWPFアプリがあって適用してみたんで紹介してきます。 最終的に↑のような感じになりました。サクサクッとテーマ適用してくだけでこの程度に整えられるならば、上等すぎるかな、と。私的にはマテリアルデザイン、相当気に入りました。Wi
フォームに角丸長方形を描画。 手順 1. System.Drawing.Drawing2D.GraphicsPathクラスを作成し、円弧と直線を組み合わせて角丸長方形を作成します。 2. System.Drawing.GraphicsクラスのFillPathメソッドで描画します。 実行結果 ソースコード(C#) using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Windows.Forms; namespace RoundRect { public partial class Form1 : Form { public Form1() { InitializeComponent(); } /*! @brief 角丸長方形のGraphicsPathを作成します。 @param[in]
C#大好きてんぷらです。ここでは、自分が普段よく使うC#の機能についてまとめたいと思います。 内容的にはすでに何らかのプログラム言語を一通り理解してる人向けです。 C#が他の言語と比べて好きな理由ってなんですか? 最近この質問をされました。その人はC#はおろかプログラム自体を最近始めたばかりで、一瞬どう答えようか固まりました。 自分はこう答えました。 プログラムは元々機械と会話するためのものでした。 機械と会話するためには日本語ではダメで、機械語で話さないといけません。 その機械語がプログラムです。 そして、昔は機械様のために会話していました。 しかし、それは苦行です。所詮、自分らはただの人間なので機械語は難しすぎるのです。 そんな苦労を見かねた偉い人がC#という言語を作りました。 C#は人間様が気持よく会話出来るものでした。 いわゆる人間よりの言語でした。 自分はここが他の言語と比べてC
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く