タグ

c#に関するene0kcalのブックマーク (22)

  • 【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。

    はじめに 登壇版 Taskの質 C# のイテレータ async/await Compiler Transform ExecutionContext builder.Start() の重要性 IAsyncStateMachine.MoveNext おわりに はじめに C#er は呼吸するように使っている async/await。 そんな async/await について、先日 Stephen Toub 氏 (.NET の中の人。中心人物の一人。) が How Async/Await Really Works in C# という非常に面白い記事を投稿していました。 この記事では Stephen 氏の記事をベースに、C# において async/await は実際どうやって動いてるの?というお話をしていきます。 以前に C#での非同期メソッドの分析。 という翻訳記事を書いたのですが、元になった記

    【C#】C# の async/await は実際にどうやって動いているか。 - ねののお庭。
  • 【C#】SOLID原則を学ぼう - Annulus Games

    今回の記事はオブジェクト指向プログラミングにおける設計の基、「SOLID原則」について。 ある程度プログラミングの文法を知っていれば、動作するコードを書くことは可能です。しかし、より良いコードを書きたいのであれば、文法の知識だけではなく、設計に関する知識も必要になってきます。 特にUnityでは、適当にコードを書いていくと目も当てられないようなスパゲッティーコードが容易に出来上がります。「とりあえずシングルトンにすりゃいいや!」みたいなノリで「何とかManager」クラスを作りまくった結果、「あれ?この処理どこに書いたんだっけ?」という状況になったこと、誰しも一度はありますよね…? 今回は、そんなクソk…良くないコードを書かないための設計原則である「SOLID原則」について紹介します。記事内のコードはC#で記述しますが、言語に関わらずSOLID原則は広く応用の効く考え方なので、是非とも覚

  • Unity (C#) の各演算の処理コストのまとめ - Qiita

    はじめに Unity (C#) の各種の演算や処理を、何回までならフレーム落ちせずに実行できるか、限界ラインを計測してまとめてみました。 TL; DR (結果の早見表) 60FPSの頻度で実行した際にフレーム落ちが発生しない限界の回数 処理 60FPSで処理可能な回数 コード

    Unity (C#) の各演算の処理コストのまとめ - Qiita
    ene0kcal
    ene0kcal 2023/03/24
    実行環境:CPU: Intel® Core™ i9-9900KF (クロック数: 3.6GHz. 最大5.0GHz)
  • Julia, Python, F#, C#, C++で単位付き数値を扱う - Qiita

    技術者なら「プログラミングで単位の扱いの間違いはコンパイルエラーにして欲しい」と思った事があるでしょう。 mm と inch でごっちゃになったとか、次元(ディメンジョン)が不合理な演算をしたとか、そういう頭の痛いバグに悩まされることありますよね。 言語によっては実行時またコンパイル時に単位チェックできるパッケージもあります。 今回は、Julia, Python, F#, C#, C++ について見てみましょう。 Julia Unitful Unitfulパッケージのインストール juliaでREPLに入り]でパッケージ管理に入る。

    Julia, Python, F#, C#, C++で単位付き数値を扱う - Qiita
  • 【C# 機能別】知らん書き方が出てきたらこれを見ろ!C# 10 までの進化を1ページで - OITA: Oika's Information Technological Activities

    祝 .NET 6 GA アドベントカレンダー、23日の記事になります。 .NET 6 のリリースに伴い、C# の言語バージョンがついに 10.0 となりました。 C# の進化は早く、ちょっと気を抜いている隙に、見たことのない書き方のコードがどんどん出現します。 その一方で、業務の現場では、5年前10年前に書かれたソースコードを保守することも決して珍しくありません。 新しいコードでも古いコードでも、「なんだっけこれ?」という書き方がでてきたときに、同じことを従来の書き方/現在の書き方でどうやるかのリファレンスにできるよう、主要な機能・構文ごとに縦断的に整理してみました。 以下お品書きです。 プロパティ 値の参照渡し クラス・構造体・レコード コレクションと LINQ タプル 変数の文字列化 null の扱い 型推論 メンバ名の参照 非同期処理・並列処理 IDisposable と using

    【C# 機能別】知らん書き方が出てきたらこれを見ろ!C# 10 までの進化を1ページで - OITA: Oika's Information Technological Activities
  • 確保したリソースを忘れずに解放するには?[C#/VB]

    プログラム実行時に確保したリソースは忘れずに解放する必要がある。usingステートメント/Disposeパターンを使って、これを確実に行う方法を紹介する。 連載目次 リソースとは、メモリやファイル、あるいはデバイスコンテキストやウィンドウハンドルなどといった、プログラムの外にあるおよそあらゆる全てのものだ。それらをプログラムで利用するために確保した場合は、(一部の例外を除き)プログラムで解放する必要がある。解放しないと、プログラムのメモリ使用量は増大し続けるし、排他的に確保しているリソースは他から利用できないままとなる。なお、.NET Frameworkが管理しているメモリは例外だ。使われなくなったオブジェクトに割り当てられているメモリは、ガベージコレクタ機構によって自動的に解放される。 確保したリソースを忘れずに解放するにはusingステートメントかDisposeパターンを使えばよい。

    確保したリソースを忘れずに解放するには?[C#/VB]
  • C#でまともなアプリ開発を行うために - Qiita

    はじめに C#は「Windowsでしか開発出来ない言語」などクローズドなイメージから一転し、.NET Coreの誕生によって様々なことが出来るようになりました。最近ではokazukiさんのC# で出来ること一覧が大きな反響を呼び、C#であらゆるアプリが作れることを多くの方に知ってもらえたかと思います。C#のよさを知ってもらうことは嬉しい限りではありますが、他言語をやってきた身としてはC#を取り巻くエコシステムの情報が少ないと感じることが多く、新たに参入される方にとって抵抗があるのも事実だと思います。この記事ではまともなアプリ開発を行うために必要なエコシステムなどご紹介し、C#でも快適に開発出来ることを知ってもらえれば嬉しいです。筆者はWEB開発を主としているので、WEB寄りな話が多くなる可能性がありますがご了承下さい。 「まとも」とは? タイトルにも書いたまともなアプリ開発とは、一定の品質

    C#でまともなアプリ開発を行うために - Qiita
  • 【C#】null許容値型のnonnull判定どれが早いかクイズ - dely Tech Blog

    どうもC#erの@MeilCliです。仕事ではAndroidエンジニアをしていますがC#erなのでアドベントカレンダーではC#について書きます 今回参加しているアドベントカレンダーはこちらです。3日目の記事になります adventar.org あと、同様なカレンダーがもう一つあります adventar.org 問: どれが早いか int? n = 0; if (n.HasValue) {}// ① if (n is int) {}// ② if (n is int and int) {}// ③ if (n is not null) {}// ④ ※ Roslyn master(25 Nov 2020)時点 正解はこの記事の中盤に書いています n.HasValueとはなんぞや C#erではない人向けに解説すると、C#のnull許容型は2種類(null許容参照型・null許容値型)が存在しま

    【C#】null許容値型のnonnull判定どれが早いかクイズ - dely Tech Blog
  • アルゴリズムの基本をJava、C#、Pythonで学ぼう - データを集計し、言語ごとの違いを知る - エンジニアHub|Webエンジニアのキャリアを考える!

    今回は、以下のように指定しました。表示オプションはデフォルトのままです。 地点を選ぶ:東京 項目を選ぶ(データの種類):時別値 項目を選ぶ(項目):気温 期間を選ぶ:2019/1/1~2019/12/6 データの項目は「日時」「気温」「品質情報」「均質番号」の4種類。品質情報、均質番号は、観測値が正常かどうかに関する情報です。各項目の詳細については、同サイトの「ダウンロードファイル(CSVファイル)の形式」ページを参照してください。 ファイルの先頭5行には、次の画像のような項目が入っています。このまま使うとやや面倒なので、あらかじめ先頭5行分は削除し、全てデータ行のみのCSVファイルに加工しておきます。 CSVファイルの仕様にはバリエーションがあり、その全てに対応するとコードが複雑になりますので、今回は気象庁のCSVデータに基づき、次の仕様を前提とします。 文字種は、ANK(1バイト文字)

    アルゴリズムの基本をJava、C#、Pythonで学ぼう - データを集計し、言語ごとの違いを知る - エンジニアHub|Webエンジニアのキャリアを考える!
  • Web開発でJavaScriptの代わりにC#でロジックを書くBlazorがめちゃ便利! - Qiita

    はじめに UL Systems Advent Calendar 2019 の17日目です。 Blazorとは、.NET技術を使ってクライアント側のWeb UIを構築するためのフレームワークです。このBlazorを使えば、今まで主に業務アプリケーションの開発で C#を使用してきたような開発者であっても、極力JavaScriptを使わず、追加の学習コスト少なくWebアプリケーション(SPA)を開発することができるようになります。 Blazor には、サーバ側で処理するBlazorサーバーと、クライアント側で処理するBlazor WebAssemblyがあります。Blazorの開発を今まさに進めており、2019年9月にリリースされた.Net Core 3.0にてBlazor サーバーが正式にサポートされるようになりました。Blazor WebAssemblyも2020年5月に正式リリースされ

    Web開発でJavaScriptの代わりにC#でロジックを書くBlazorがめちゃ便利! - Qiita
  • 引数の型を何でも List にしちゃう奴にそろそろ一言いっておくか - Qiita

    この記事は C# その2 Advent Calendar 2018 の第一日の記事である。 はじめに この記事では、主にエンタープライズアプリケーション(SI、企業向けの業務システムやパッケージ製品)の開発に於いて、新規開発ではなく修正や拡張を行うようなシーンを想定して、無駄な工数をなるべく削減すべく自分なりに考えて実践しているベストプラクティスを書いている。 新規開発の場合でも、将来の拡張や修正が見込まれるはずなので、考慮すべき事は同じだ。 競技プログラミングや、組み込み開発の場合でも基的な考え方は適用可能だが、メモリ効率やパフォーマンスを考慮する必要もあるので、あえて配列を使ったり、逸脱するようなケースもあるだろう。 対象とする読者層は、C#プログラミング歴1年以上、SIer やユーザー企業に所属(もしくは常駐)し、特に複数人チームでの開発に携わる若手プログラマ、初級から中級へのステ

    引数の型を何でも List にしちゃう奴にそろそろ一言いっておくか - Qiita
    ene0kcal
    ene0kcal 2018/12/01
    「というかそのような開発現場はもっと根本的なところに課題を抱えていそうだが。」コレアル!!メンバー間でラポールを築けているのは本当に強い。まぁ人間だもの。
  • 株式会社Cysharp

    C#の可能性を切り開いていく Cysharpは、プログラミング言語C#の専門集団として「C#の可能性を切り開いていく」ことを掲げ、 Cygamesと共に、Unityに代表されるクライアント技術とサーバーサイドにおけるC#技術の双方を、 パフォーマンスを重視して構築し、ゲーム業界全体の技術やコミュニティの発展に貢献します。 OSS Cysharpでは多数のオープンソースライブラリをGitHub上に公開しています。 最新のC#技術を適用し、使いやすさとパフォーマンスを引き出したライブラリによって、 .NETUnityのエコシステムに大きく寄与しています。 https://github.com/Cysharp MagicOnion Unified Realtime/API framework for .NET platform and Unity. UniTask Provides an ef

    株式会社Cysharp
  • メモリダンプから.NETのメモリ状態を探りたい - Grani Engineering Blog

    こんにちは、@mayukiです。 以前、このブログにてダンプ解析入門 - Visual Studioでの可視化によるC#トラブルシューティングというスタックオーバーフローのような問題を調査する方法について触れましたが、今回はダンプを元にメモリ周りの状態を見ていく方法について調べたので少しまとめてみました。 長い時間実行するようなアプリケーション(アプリケーションサーバーなど)ではメモリの使用状況やメモリリークなどを調査したいというケースがたまにやってきます。そんなときにはプロセスのメモリダンプを取得して解析することで問題の原因がわかりそう…そんなシチュエーションで役立つかもしれません。 お品書き お品書き 前提 メモ: 64bit コンピューターで動作している32bit プロセスのダンプをとる ダンプのみどころ どのツールで解析すれば? Visual Studioを試してみる DebugD

    メモリダンプから.NETのメモリ状態を探りたい - Grani Engineering Blog
  • C#6.0時代のUnity - Qiita

    はじめに Unity2017のベータが公開されましたね!(これを書いている4月13日現在 Unity 2017.1.0b1 https://unity3d.com/jp/unity/beta#downloads) なんといっても目玉は.NET 4.6が正式に対応! 覚えておいて損がないものは損が無いので覚えておきたいですし、今後.NET 4.6対応で書かれたソースコードもバンバン世に出てくるはずなので、使わないまでも読めるようになっておく必要はあるかと思います。 何ができるようになるのか、何に気を付けなくてはいけないのか。 ちょっと調べてみました。 下準備 .Net 4.6対応! とはいっても、まだ試験導入的な立ち位置なので、最初の設定では使えず、PlayerSettingsを変更する必要があります。 まず、Scripting Runtime Version おお。 .NET 4.6 Eq

    C#6.0時代のUnity - Qiita
  • Amazon WorkSpaces 上に C# お勉強環境を作る - Qiita

    C#はいろいろ使われているし、ちょっとお勉強したいな、ということで Hokuriku.NET C# 式木 に参加することにしました。 必ずVS2013 or C# Expressをインストールした環境をお持ちしてください。 とのことで、私はOSXメインで、Windowsデスクトップしかないし、前から興味のあった、 Amazon Workspacesを借りてみることにしました。その借りた手順ログ的なものです。しかも、「無料枠が無い」ということで、経験談もレアになるだろうってことで、ちょっといろいろやってみます。 お値段 Price Amazon WorkSpaces 料金表参照、日(2014-10-24 20:00ごろ)現在、一番安いやつで アジアパシフィック(東京リージョン) スタンダード 1 vCPU、3.75 GiB メモリ、50 GB ユーザーストレージ ユーティリティ(Adob

    Amazon WorkSpaces 上に C# お勉強環境を作る - Qiita
  • C#で高精度なテキストファイル文字コード自動判別(2014年版) - hnx8のブログ

    C#(.NET Framework)に限ったことではありませんが、汎用的にテキストファイルを扱うようなアプリケーションを作っていると、よく 特定の文字コードのファイルしか読み出せないのでは困る ⇒文字コードを自動判別し、テキストの内容を取り出したい 読み出したファイルと同じ文字コードでファイルを書き出したい ⇒読み出したファイルの文字コードを知りたい といった場面に出くわします。 ですが、C#(.NET Framework)標準のライブラリではそのような機能は提供されていないため、文字コードを判定するには、 自前で文字コード判定のロジックを実装する 出来合いの外部ライブラリ、Windows版NKF32.dll、ICU4Cなどを利用する IE用の文字コード判別ライブラリ(mlang.dll)を利用する ※COMコンポーネント呼び出し要 のいずれかの方法を取ることになります。 HNXgrepと

    C#で高精度なテキストファイル文字コード自動判別(2014年版) - hnx8のブログ
  • .NET開発者がよく使うサイト、本当に使えるサイト【2014年度版】

    .NET開発者がよく使うサイト、当に使えるサイト【2014年度版】:特集:.NET開発者のためのオンラインリソースガイド Web上には.NET関連サイトが数え切れないほどたくさんある。その中でも.NET開発初心者がまずは押さえておきたいWebサイトを厳選してまとめた。 稿は、これから.NETでプログラミングを始めようとしている方や、新しく.NETでの開発に携わることになった方に贈るオンラインリソースガイドの2014年度版である。インターネット上に数ある.NET関連サイトの中で、.NET開発者がまずは押さえておくべきWebサイトについてまとめている。 稿がまとめているサイト&ジャンル分けについて .NET開発者がよく利用するサイトの代表は、やはり.NET FrameworkとVisual Studioを提供するマイクロソフトのサイトだろう。だが、ひとくくりに「マイクロソフトのサイト」と

    .NET開発者がよく使うサイト、本当に使えるサイト【2014年度版】
  • C#、VB.NETのオンラインコンパイラ - DoboWiki

    C#、VB.NETのオンラインコンパイラ † 前々回からオンラインコンパイラについて紹介してきましたが、今回は私が見つけたC#かVB.NETをサポートしているオンラインコンパイラをまとめて紹介します。なおここでは、オンラインでコードをコンパイルしてダウンロードできるサービスの他に、オンラインでコードを実行して結果を表示するだけのサービスもオンラインコンパイラとして紹介します。 ▲ ▼ Compilr † 対応している言語は、C#、VB.NETの他に、C、C++JavaJavaScript、Pascal、PHPPythonRuby。 「.NET 2.0」、「.NET 3.5」、「.NET 4.0」、「XNA 4.0 Windows」を選択可能。 .NETでは、「Console Application」か「Windows Forms Application」を作成できる。 XNA 4.

  • [C#] 「世界一IQの低いソースコードはこれ。」のような if 文を書いた場合の速度を測ってみた (プログラミング C# - 翔ソフトウェア (Sho's))

    « [TypeScript][WebGL][Three.js] 多体問題シミュレーション WebGL版 | メイン | [Event] Hokuriku.NET Vol.15 in FUKUI » [C#] 「世界一IQの低いソースコードはこれ。」のような if 文を書いた場合の速度を測ってみた 「世界一IQの低いソースコードはこれ。」で始まる tweet が興味深かった。 https://twitter.com/vjroba/status/494882208788660226 世界一IQの低いソースコードはこれ。 if と else を使って KeyEvent クラスの中の 200 を超える数の定数と一つずつ比較して、文字列に変換している Java のコードだ。 色々リプライされているようだが、「初心者向けの入門書なので、リフレクションや連想配列を (switch すら) 使わない方針で

  • Visual Studio Tools for Unity 1.9 - Visual Studio Blog

    Announcement: CppCon October 1–7, 2023 Join us at CppCon, a week-long gathering for the C++ community! Today we released the Visual Studio Tools for Unity add-on (formerly known as UnityVS). It is now available for download on the Visual Studio Gallery at the following links: Visual Studio 2010 Tools for Unity Visual Studio 2012 Tools for Unity Visual Studio 2013 Tools for Unity VSTU is Microsoft

    Visual Studio Tools for Unity 1.9 - Visual Studio Blog