【C#】awaitの裏側
awaitできるもの await できるのは、GetAwaiter という名前のメソッドを持つ任意のオブジェクトです。 一段メソッドが挟まっており、さらに名前さえ一致すればどんなメソッドでもよいため、拡張性と柔軟性を持っています。 例えば、最もよく使われるTask の他にも、値型のValueTask などがawaitすることを想定した型として標準で用意されています。 GetAwaiter...
View Article[WPF] 簡単なインベーダー的ゲームを作ってみる
もくじ やりたいこと これまで「ゲーム」というものを作ったことはないのだが、何となくゲーム作りに対してあこがれみたいなものがあり、いつかはやってみたいな、と思って生きてきたので、ここで一度、今仕事でよく触る C# &WPF で、自分で出来る範囲でゲームを作ってみようと思う。 なので、この記事はゲームを作るにはこうするべし的な内容ではなく、...
View ArticleTwitterとInstagramをやっているFANZA女優を一覧で表示するページを作った
この記事は 驚異のFANZA女優検索 Advent Calendar 2021 の 7 日目の記事です。 TwitterとInstagramをやっているFANZA女優を一覧で表示する...
View Article【翻訳記事】Pipelines - .Net の新しい IO API のツアーガイド, part 1 -
なぜ Nim の Adventカレンダーに唐突に C# のSystem.IO.PipelinesAPI の翻訳記事が登場したかについては、記事末尾の「前置き」を見てください。 この記事について この記事は Marc Gravel氏に許可を頂いて、Pipelines - a guided tour of the new IO API in .NET, part 1を翻訳したものです。 C#...
View Article【Unity】Vivox でボイスチャットを始めよう!
本記事は Advent Calendar 2021 「Unity #1」 7 日目の記事です。 はじめに Unity でボイスチャットやテキストチャットを導入したい、となったとき Vivox は最有力候補の一つに挙がると思います。 今回はそんな Vivox でボイスチャット実装を試してみたので記事にしました。...
View Article【トラブル回避】端末依存のC#処理に注意!
本記事は、サムザップ Advent Calendar 2021の12/7の記事です。 はじめに C#の一部APIには、端末の設定によって結果が変わる挙動をするものがあります。 今回はそんな危うい挙動をする処理と、それを端末の設定に依存させないで行う方法を紹介したいと思います。 端末の言語設定に依存した処理 float n = float.Parse("1.5");...
View ArticleC#erと振り返るC#5.0からC#10.0までの機能追加(5.0,6.0編)
三行 勉強がてらC#の追加機能を振り返る 革命が起きた5.0 地味にありがたい修正や追加機能が多い6.0 C#の進化は!!!終わらねェ!!!! おはようございます。C#erを自称しながらC#の記事が一つもなかったデブです。 記事がわずかしかないと言え、それは流石にあんまりなのでC#記事を書こうかなという意気込みです。...
View Article.NET6でできることをサンプルを交えて
このページは、祝 .NET 6 GAアドベントカレンダー6日目の記事です。 祝.NET 6 GA ようやっと出ました。 previewが出てはインストールし、Xamarinの後継というMAUIの状態を確認する日々…。(誇大) それもこれもMAUIのため…。 MAUI MAUIは、デスクトップ/モバイル含めた複数のプラットフォームに対応したフレームワークです。...
View ArticleLINQでよく使うメソッド構文一覧(C#)
はじめに 本記事は エムティーアイ Advent Calendar 2021 の5日目の記事です。 昨日は @uhooi で 議事録を書くコツとテンプレート でした。 C#のLINQについて、よく使うメソッド構文のメソッドを紹介します。 「LINQ」とは? 「Language-Integrated Query」の略で、直訳すると「言語に統合されたクエリ」です。...
View Article現在のカルチャーに影響を受けず西暦をDateTime型に変換する
タイ語環境の暦では「2020/7/15」は「15/7/2563」となるが、new DateTime(2020, 7, 15)のようにすると543年前の日付になってしまう。 西暦の2020, 7, 15をDateTime型に変換 DateTime date = CultureInfo.InvariantCulture.Calendar.ToDateTime(2020, 7, 15, 0, 0, 0,...
View ArticleC#でカノジョをつくる(7日目)
お疲れ様です。たなしょです。 今日はLINQを勉強したのですが、データの整形や加工をするための手段なので ほとんど書くことがありません。 イテレーターブロック yieldを付けることで列挙子が簡単に生成できる仕組みです。 列挙子は0から始まり1ずつ増加していく型というイメージを持っています。 あと列挙型は全要素分のメモリ領域を確保する必要がないこと特徴に上げられます。 LINQ...
View Article夜のFANZA女優モード(ダークモード)を実装した
この記事は 驚異のFANZA女優検索 Advent Calendar 2021 の 8 日目の記事です。 ダークモード...
View ArticleBlazor with LeaderLine
LeaderLineは、JavaScriptで様々な要素に矢印をひけるJavaScriptライブラリです。 今回はこのライブラリを使って、Blazorアプリケーションに彩を添えてみたいと思います LeaderLine LeaderLineについては、いくつか記事がありますので、こちらも参照してみてください。 JSで要素同士に線や矢印を引けるライブラリ"LeaderLine" (@RuRey0310...
View Articleabstract(抽象)クラス、Interfaceはどう使い分けるべきか
ACCESS Advent Calendar 2021の8日目の記事は@kokada420が担当します。 新卒一年目で、C#を使う案件に配属されたのですが、大学時代は脳筋Pythonコーダーでオブジェクト指向を意識した実装というのを全くしていませんでした。...
View ArticleUnityを「体系的に」学ぶことについて
この記事は LITALICO Engineers Advent Calendar 2021 8日目の記事になります。 アドベントカレンダーで、エンジニアの皆さんがそれぞれ輝かしい内容の記事を書いていらっしゃるなか、自分は開発技術面の話から少々外れ、どちらかというと教育論っぽい話をさせていただこうかなと思っております。 流し読みしていただけるだけでも十分ありがたいです、どうかよろしくお願いします。...
View ArticleC#でカノジョをつくる(8日目)
お疲れ様です。たなしょです。 今日でスラスラわかるC#も読み終わります。 非同期処理を勉強しました。今日も記事の内容は短いです。 マルチスレッドプログラミング 複数の処理を並行して行うことをマルチスレッドプログラミングといいます。 C#では非同期メソッドとlockステートメントの2つの言語機能を持っている。 非同期メソッド メインスレッド以外処理を実行することです。...
View Article【Unity】後回しにすると大変なことになった事例集
はじめに 本記事は、サムザップ Advent Calendar 2021 の12/8の記事です。 経験上 私は、Unityを使ったゲーム開発をしております。 ゲーム開発では、モック開発中にゲームをプレーできるように優先して開発してしまいますが 開発しているときから常に意識してほしいことを説明したいと思います 後回しにすると大変になった事例をいくつか紹介します 意識してほしいこと 画面遷移...
View Article【Unity】オブジェクトの座標値を取得してテキストファイルに書き込む
このスクリプトをアタッチしたオブジェクトの座標値(x,y,z)を取得し,テキストファイルに書き込むコードの例です. using UnityEngine; using System.Collections; using System.IO; //ファイルに書き込むために必要 using System; //Convert使うために必要 public class WriteFileTest1 :...
View Article.NET+VS Codeでもデザイン時 T4 テキスト テンプレートを使いたかった
TL;DR C#に追加されたソース ジェネレーター機能を使って「デザイン時 T4 テキスト テンプレート」を再現してみたかった C# ソースファイル(.cs)以外からソースコード生成する方法を解説 が、System.CodeDom絡みのエラーで断念 前回と同様の手段で「デザイン時 T4 テキスト テンプレート」を使う手段を紹介 方法だけ知りたい人はこちら 環境 Windows 10 Pro x64...
View Article多言語対応をしようとして諦めた話
この記事は 驚異のFANZA女優検索 Advent Calendar 2021 の 9 日目の記事です。 多言語対応を諦めた話 今日は実装した話ではなくて、実装しようとして諦めた話。諦めた機能は日本語、英語、中国語、韓国語を切り替えられるような実装を考えていた。いわゆる多言語対応だ。 作ろうとしたきっかけ...
View Article