音ゲーマーのためのゼロから始めるC#講座:第二回まとめ
腕毛の人です。前回の課題をやってたら就寝4時でした…今回も駆け足で復習していきましょう!さて、まずは前回の課題からです。課題:音ゲーのゲーム画面に必要な値を表現してみるstaticvoidMain(string[]args)より下の行から、こんなプロブラムを書いてみました。{stringsongName="REJECTION";stringartist="GAT";stringgene="OTOGE...
View ArticleUnity C#はEXE化すれば標準入力を受け取れる
タイトルの通りです。動機とか実行例を載せておきます。動機Windows環境のUnityでプロセス間通信(IPC)する!NamedPipeServerStreamが使えない1んだが!!!!どうせAnonymousPipeServerStreamも使えないんだろ?TCPやUDPは違う。何か実装できそうな(面白い)方法はないか・・・・・・・・・・・・・・・・標準入力いけるか?環境Windows...
View ArticleAddressables.LoadAssetAsync を aync/await でスッキリ書く
こんにちは。Unity使い始めて1ヶ月ほどの初心者です。外部リソースの読み込み事情が面倒すぎて心が折れそうですがAAS(Addressable Assets System)を試しているところです。今回はAASでのアセット読み込みを async/await でスッキリ書けたのでメモします。Addressable Assets System でのアセット読み込みAASではResources...
View Article【.NET】最終的にソートされてるデータが欲しいだけならSortedSetよりHashSetのほうが高速
タイトルの通りです。重複を削除してソート済みのデータが欲しいという場合は、途中の段階でもソートされているSortedSet<T>では余計な処理が入ってしまい遅くなってしまいます。HashSet<T>やLINQのDistinctを使って重複を除いてから改めてソートする方が速いです。ベンチマークMethodToolchainMeanErrorStdDevGen 0Gen 1Gen...
View Article【C#】文字列結合の負荷について検証
概要C#には文字列を結合する方法がいくつかあります。今回はそのうち5つを試してみたので、その結果を記載します。検証した方法・+演算子・StringBuilder・文字列補間→$"Name:{name}"など($ - 文字列補間 - C# リファレンス | Microsoft...
View Article[C#] overrideとnewの違い
(5/15追記:@shiracamusさんより指摘コメントあり、内容に間違いがあったため図解を差し替えています。)overrideとnewの違いで少し混乱したためまとめ。解説サイトはいくつもあるけれども、図解しているものがなかったため、図で考えてみた。下記のような、BクラスがAクラスを継承している場合を考えてみる。classA{publicvoidTest_New()=>Console.Wri...
View Article連想配列を説明する
じゃあまずC#で書く。ex.csusingSystem;usingSystem.Collections.Generic;publicclassEx{publicstaticvoidMain(){varjcpmusicdotcom=newDictionary<string,string>();jcpmusicdotcom["東方ロストワード"]="ロストワードクロニカル";jcpmusic...
View ArticleコレクションクラスのListに対してLINQを用いて集約したい。GroupBY,Sum,OrderBy,Selectの書き方
LINQをList<コレクションクラス>にどう書くか?LINQの記事では、string型やint型のListを扱っているものはよくある。しかし、独自で作成したコレクションクラスのListをどうLINQで処理するかの記事が発見しづらかった。そのため、ここにその仕方を記述する。...
View Articleサイゼリヤの間違い探しをロバストな画像処理で解く
はじめに初投稿です。よろしくお願いします。サイゼリヤの間違い探しを画像処理を用いて解くプログラムを作成しました。基本的には画像の差分をとってなんやかんやして間違いを見つける、という手法ですが、それに加え今回はロバスト性に着目しました。まずは実行結果をご覧ください。※ロバスト性…...
View Articleインスタンス制御とは?
はじめにEffective Java 第2版 P6に出てくる下記の内容について深堀する。static ファクトリーメソッドが、何度呼び出されても同じオブジェクトを返すことができることは、ある時点でどのようなインスタンスが存在するかを厳密に制御するのにも使用できます。この制御をおこなうクラスは インスタンス制御されている...
View ArticleEffective Java 第2版 関連事項調査まとめ
はじめに新人のころEffective Java 第2版を購入したが2~3年積んだまま放置してしまった。読み返してみると案外今でも知らなかったりふわっとしてて人に説明できない関連事項が結構多かったため、恥を忍んでこの記事に調査内容をまとめていく。...
View Article眺めて覚える C# Xamarin Forms(13) File 操作
Android上の任意のファイルアクセスするときにユーザーの許可が必要です。主なAndroidのファイルディレクトリAndroid.OS.EnvironmentディレクトリDirectoryAlarmsPRIVATE_EXTERNAL_STORAGE/AlarmsDirectoryDcimPRIVATE_EXTERNAL_STORAGE/DCIMDirectoryDownloadsPRIVATE_E...
View Article簡単なステートマシンを作ってみた
はじめにこれはArbor3とうまく自分の作成中のゲームを組み合わせられず, でもとりあえず簡単なステートマシンだけ欲しかった人が簡易的にステートマシン(有限オートマトン)を実装してみたので,...
View ArticleTwainDotNetによるスキャン
1. はじめにTwainDotNetを使用してC#のWinFormからTWAINでスキャンしました。2. 画面「SelectSource」でスキャナを選択します。「Scan」でTWAINドライバのダイアログを表示してスキャンします。3. TwainDotNetの準備TwainDotNetはnugetで取得できます。...
View ArticleUnityでも宣言的UI使いたくない??
Unity でも宣言的 UI 使いたくない??1 年前に Unity で 状態管理をするフレームワークを作りました。しかし、まだ辛いところがあったのです。「宣言的に UI を書きたくない??」宣言的 UI とは?Wikipediaより宣言的 UI は宣言型プログラミングを用いて構成された GUI、それを実現する手法である。GUI...
View ArticleCSV をクラスにバインドする カラム名自由編 (C#)
CSV をクラスにバインドする カラム名自由編 (C#)CSV をクラスにバインドする (C#)は有用だが、CSV のヘッダには日本語やカッコなどの識別子に使えないカラム名を使いたいということがあるのでそれに対応する.例えばRowId,契約ID,開始日,終了日,顧客ID 0,C0001,2020-03-01T00:00:00.0000000,2020-04-01T00:00:00.0000000,0...
View Articleクラスを CSV にデバインドする カラム名自由編 (C#)
クラスを CSV にデバインドする カラム名自由編 (C#)クラスを CSV にデバインドする (C#)は有用だが、CSV...
View ArticleUnity超初心者が引き出し開閉アクションをつくるその2
はじめにこちらの勉強メモの内容のつづきですhttps://qiita.com/okapy0922/items/7f2de09d0f2d8f4c1c60今回もこちらのチュートリアルを参考にざっくり手順を残したいと思います。https://www.youtube.com/watch?v=a5WXiMN3APk引き出しに触れた状態で引き出しを開閉するアクションと、開けた引き出しの中に球体が入っている状態を...
View Articlehtmlテーブルにtablesorter.jsでfilter,sorter,pager機能を追加する
概要tablesorter.jsはhtmlのtableにソート機能やフィルタ機能を追加できるjQueryになります。こちらの記事で作成したテーブルにtablesorterを使用してソート機能とフィルタ機能を追加してみたいと思います。サイトには様々なサンプルがありますので、参考にしてみてください。追加前のページ追加後のページ環境Visual Studio 2019.Net Framework...
View Article