#author("2024-01-08T13:56:54+09:00","default:irrp","irrp") →.NETプログラミング →言語・開発環境 #contents * 一般 [#n7242710] -[[初心者が本当に知りたかったC#入門以前>https://zenn.dev/inuinu/articles/40d3a9825c19de]] 2024.1 -[[【Unity】Unityでマーシャリングを利用してDLLの関数を呼び出してみよう! – 株式会社ロジカルビート>https://logicalbeat.jp/blog/15418/]] 2023.7 -[[Unityの機能をawait可能にしてasync / awaitについて学ぶ>https://zenn.dev/meson/articles/implement-awaiter-for-unity]] 2022.4 --C#では非同期処理として async / await の仕組みが用意されています。しかし実はこの機能、コンパイラによってコードが変更され、コールバックという形に変換されて動作するようになっているのです。そのため、知らずに使っていると思わぬところでハマったり、エラーになってしまったり、といったことが起きえます。 --今回はそんな async / await の機能の内部を探りながら、最後はUnityの機能を拡張する実装を通して非同期処理を理解していこうと思います。 -[[【C#】逆コンパイルと難読化について【.NET】 - Qiita>https://qiita.com/rait0/items/4f50efc6c752374c111a]] 2022.3 -[[「C#?Visual Studio要るんでしょ?」からの脱却 - Qiita>https://qiita.com/ikuosaito1989/items/407b7f966efb1c2c3097]] 2021.12 -[[C# で無駄に難しくメモ化をしてみた>https://qiita.com/Zuishin/items/0b7080e6f7e277d9394b]] 2018.3 -[[[速報]マイクロソフト、サーバサイドの「.NET Core Rutime」と「.NET Framework」のオープンソース化を発表。C#コンパイラやASP.NETなど>http://www.publickey1.jp/blog/14/jitnet_core_rutimenet_framework.html]] 2014.11.13 -[[C# Razor構文 基礎文法 総まとめ>http://www.atmarkit.co.jp/fdotnet/rapidmaster/rapidmaster_03/rapidmaster_03.html]] 2011.10.18 -[[究極のC#プログラミング>http://www.atmarkit.co.jp/fdotnet/extremecs/index/index.html]] -[[C#3.0のラムダ式>http://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_01/csharp30_01_01.html]] -[[C#入門>http://wisdom.sakura.ne.jp/programming/cs/index.html]] -[[ジェネリッククラスの説明>http://www.atmarkit.co.jp/fdotnet/special/generics01/generics01_02.html]] --ArrayListはList<>,[[HashtableはDictionary<>>http://www.atmarkit.co.jp/fdotnet/special/generics01/generics01_04.html]]を使うことでほぼ不要となる *文法 [#b02f1e98] -[[【C#】式本体の定義を使ってプロパティを簡潔に書く - Qiita>https://qiita.com/lx-sasabo/items/f45afa21a6c16e2aeb03]] 2023.8 -[[何故foreachを使ってはいけないか? - Qiita>https://qiita.com/tailendg/items/f9e4f132c77e49a14164]] 2023.2 -[[【C#】コレの名前、なんだっけ?【用語集】 - Qiita>https://qiita.com/mori95y/items/eb213272bf7537770691]] 2022.11 -[[C#に潜むstructの罠 - KAYAC engineers' blog>https://techblog.kayac.com/trap-around-struct-in-csharp]] 2022.4 -Double.NaNは比較演算しても意味が無い件 --ある値がNaNかどうか判定するには==を使ってはならない。NaNは数値ではないのだから比較することに意味は無い。 ただし、==の項にしてもコンパイルは通る。常にfalseになるようだ。 --Double.IsNaN(val)とすること -C#では0割しても例外は発生しない件 static void Main(string[] args) { try { double b = 1; double c = 0; double a = b/c; //+Infinityという特殊な値になる Console.WriteLine("a="+a.ToString()); //"+∞"という文字列になる } catch(Exception ex) { //0割してもここには来ません Debug.Assert(false, ex.Message); } } --ちなみに無限値は Double.PositiveInfinityもしくはDouble.NegativeInfinityとしてソースで記述可能 -[[Reflection in C# Tutorial>http://www.codeproject.com/Purgatory/C__Reflection_Tutorial.asp]] -[[C#1.1から3.0までの変化>http://codezine.jp/a/article/aid/1540.aspx]] -[[C#2.0らしいプログラミング>http://www.atmarkit.co.jp/fdotnet/csharp20/csharp20_01/csharp20_01_01.html]] -[[Understanding implicit operator overload:http://www.codeproject.com/useritems/Csharp_implicit_operator.asp]] -[[OOP in C#:http://www.only4gurus.com/v3/preview.asp?ID=9341]] -[[C#2.0のNullable Type解説:http://www.codeproject.com/KB/cs/c__20_nullable_types.aspx]] -[[メソッドがあるか確認して呼び出す:http://www.atmarkit.co.jp/fdotnet/dotnettips/359callbyname/callbyname.html]] 2005.9.30 -C#言語の文法 --C#の属性 -[[C# Final Draft:http://www.mondrian-script.org/ecma/CS%20Final%20Working%20Draft.pdf.zip]] -[[Cω:http://research.microsoft.com/Comega/]] * LINQ [#t81c4100] -[[MatchCollectionクラスでLinqを使うおまじない>https://qiita.com/tokishirazu/items/74f49bba971ad5fa1dcb]] 2016.9 -[[【C#入門】LINQのSelect、Whereでコレクションを操作する方法>https://www.sejuku.net/blog/47172]] 2019.4 -[[LINQ基礎編>http://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_06/csharp30_06_01.html]] -[[LINQの基礎知識>http://www.atmarkit.co.jp/fdotnet/special/cslinq01/cslinq01_01.html]]