[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

c#に関するmyzkkzyのブックマーク (25)

  • メモリ管理 - コンピュータの基礎知識 | ++C++; // 未確認飛行 C

    概要 「仮想メモリ」があるからと言って、場当たり的にメモリ領域を使っていいわけではありません。 メモリ上の空き領域を効率的に管理するのもオペレーティング・システムやフレームワークの仕事です。 メモリ領域の管理手法には大きく分けて、スタックとヒープという2種類のものがあります。 スタック スタック(stack)とは、「積み上げる」、「堆積物」というような意味ですが、 その言葉通り、データ領域を積み上げていくような形で管理する方式です。 すなわち、最後に確保した領域を最初に開放します(上に積んで、上から降ろす)。 スタックによるメモリ管理の模式図を図1に示します。 プログラムで使うデータの多くは、あらかじめ決まっている短い範囲でのみ利用されます。 データの利用される範囲のことをスコープ(scope)と呼びます。 図中に示すように、一般に、スコープは入れ子になっていて、内側のスコープで使うデータ

    メモリ管理 - コンピュータの基礎知識 | ++C++; // 未確認飛行 C
    myzkkzy
    myzkkzy 2023/10/29
  • Understanding C# Struct All Things | Unity Learning Materials

    C#の構造体(struct)はUnityでパフォーマンスを引き出すために非常に重要な言語機能です。しかし、Classとは大きく扱いが異なるため、正しい取扱には深い理解が求められます。また、C#は7.0-7.3の間に、多くの構造体の扱いを向上させる文法を追加しました(ref structやin引数、Spanなど)。 ランタイムによる挙動から、新しい文法による取扱まで、このセッションではUnity 2019世代でのstructの用法の全てを紹介し、受講者がC#のポテンシャルを最大限に引き出せるようにします。

    Understanding C# Struct All Things | Unity Learning Materials
  • 【C#】SOLID原則を学ぼう - Annulus Games

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

  • C#によるクライアント/サーバーの開発言語統一がもたらす高効率な開発体制 ~プリコネ!グランドマスターズ開発事例~

    2022/08/25 CEDEC2022

    C#によるクライアント/サーバーの開発言語統一がもたらす高効率な開発体制 ~プリコネ!グランドマスターズ開発事例~
  • コードを美しく保つ:独自の C# コードスタイルを作成する方法 | Unity Blog

    Unity C# のコードフォーマットの方法は複数ありますが、プロジェクトで一貫したコードスタイルを取り決めておくことで、チームはクリーンで読みやすく、スケーラブルなコードベースを作り上げることができます。このブログでは、独自のコードスタイルガイドを作り、それを維持するうえで使えるガイドラインと例をいくつか紹介します。 なおこの記事で紹介する内容は、Microsoft が公開している推奨事項に則ったものであることをお断りしておきます。この記事を読んだことを機会に、皆さんのチームにとって最適な方法を見つけてください。 1 つの Unity プロジェクトに何人の開発者が携わっていても、1 人の開発者によって開発されたように感じられるのが理想的です。スタイルガイドは、より一貫性のあるコードベースを作成するアプローチを一化するための助けとなります。 できるだけ業界標準に準拠し、独自のスタイルガイ

    コードを美しく保つ:独自の C# コードスタイルを作成する方法 | Unity Blog
  • 私がC#の勉強のために必ずクローンしているGitHubリポジトリを紹介します - Alternative Architecture DOJO

    こんにちは。MLBお兄さんこと松村です。 今回は私がPCに必ずgit cloneしているC#系のGitHubリポジトリを紹介します。 どういったリポジトリであるか、リポジトリをクローンしている目的も併せて書いてみます。 とりあえず詳細はいいから、どんなリポジトリがあるか知りたい方はこちらをご覧ください。 gist.github.com それでは列挙していきます。(アルファベット順です) 常にクローンするもの dotnet-presentations/aspnetcore-app-workshop github.com ASP.NET Core 2.2でSPAのWebアプリケーションを作るワークショップです。 dotnet-presentations/aspnetcore-concepts-workshop github.com 前述の dotnet-presentations/aspnet

    私がC#の勉強のために必ずクローンしているGitHubリポジトリを紹介します - Alternative Architecture DOJO
    myzkkzy
    myzkkzy 2020/01/14
  • JavaとC#の命名規約まとめ (JavaプログラマーがC#でプログラムを書いて引っかかったところ その3) - 地平線に行く

    よくごっちゃになってしまうので、Java と C# の命名規約をざっとまとめてみました。 種類JavaC#(.NET) クラスPascalPascal インタフェースPascal (例:List)"I" + Pascal (例:IList) パッケージ / ネームスペースCamel (例:java.net)Pascal (例:System.Net) メソッドCamel (例:toString())Pascal (例:ToString()) ローカル変数CamelCamel メンバ変数Camel (例:Calendar.isTime)Pascal (例:Calendar.IsReadOnly) 定数Snake (例:Integer.MAX_VALUE)Pascal (例:Int32.MaxValue) 列挙定数Snake (例:State.RUNNABLE)Pascal (例:ThreadS

    JavaとC#の命名規約まとめ (JavaプログラマーがC#でプログラムを書いて引っかかったところ その3) - 地平線に行く
    myzkkzy
    myzkkzy 2019/05/19
  • はじめての LINQ - Qiita

    この記事は C# で開発をしているのに、まだ LINQ(リンク)が使えていない人向けの入門記事です。 LINQ が使えていない理由は何でしょうか? 「難しくて理解できない」 「SQL っぽくて読みづらい」 「とっつきにくくて試せていない」 「メリットが分からない」 「必要性を感じない」 そういった人にも LINQ を理解してもらえるように、できるだけ簡単に説明していきます。 LINQ とは? LINQ とは何でしょうか? 公式(MSDN)には、以下のように説明されています。 統合言語クエリ (LINQ: Language-Integrated Query) は、クエリ機能を C# 言語 (および Visual Basic や場合によってその他の .NET 言語) に直接統合する一連の技術の名前です。 LINQ を使用すると、クエリは、クラス、メソッド、イベントなどと同じように、高度な機能を

    はじめての LINQ - Qiita
    myzkkzy
    myzkkzy 2019/04/13
  • C#の勉強をしだすとアプリが永遠に完成しないような気がする話 - はなちるのマイノート

    3月あたりからもっとUnityを上手く使いたい!と思い、ぼちぼちC#の勉強を始めました。最近はクラス設計を見直そうと思い、デザインパターンやオブジェクト指向の勉強をしています。 そしてだんだん勉強するうちにあることに気づいてしまったのです。 「クラス設計の勉強をしだすと、ゲームが永遠に完成しないのでは?」 そう思った経緯について今回は書いていきたいと思います。 オブジェクト指向が滅茶苦茶分からない デザインパターン多すぎ・・・ Unityのクラス設計に関する記事自体が少ない そしてアプリは完成しなくなった さいごに願うこと オブジェクト指向が滅茶苦茶分からない オブジェクト指向の勉強をしだして、SOLID原則であったり、デザインパターンであったり色んなことを覚えました。ただどういったものかというイメージを覚えただけなので、実際に使ってみようと思うと悲劇は起こります。 全然手が動かない・・・

    C#の勉強をしだすとアプリが永遠に完成しないような気がする話 - はなちるのマイノート
  • C# パフォーマンス改善に使える新しめの機能たち 7.0〜 - Qiita

    時代に合わせてバージョンアップを続け、モダンな言語もまだまだ彼の背中を追っている部分があると噂されたりしている言語、C#。 現状の利用シーンとして割と大きいめの Unity (ゲームエンジン) では、使えるC#のバージョンがぐいぐいっと上がりはじめて以降、そこそこ新しい書き方も認知されてきているようです。 しかし、個人的に注目している C#の新機能は、ショートハンドや関数型言語由来の機能よりもむしろ、C#自体のパフォーマンスを改善するような文法や標準ライブラリたちです。 ーーパフォーマンスを改善する言語機能って一体なんのことでしょう。 「C# なんて、ランタイムが勝手にJITで最適化した機械語にして走らせてくれるわけで、Unityの場合はc++トランスパイルされるわけで、べつにプログラマがミクロなチューニングとか意識しなくても、夜、寝る前とかに祈ったり寄付とかをしていれば、ランタイムをつ

    C# パフォーマンス改善に使える新しめの機能たち 7.0〜 - Qiita
  • VS CodeでUnityプログラミングしてる僕が入れてる拡張機能 - Qiita

    皆もVS CodeでUnityプログラミングしてほしいので便利な機能をあげてみました。 #拡張機能一覧 ####Bookmarks コマンドでブックマークを設定できる。 コメントでTODOとか書きたくないので入れてます。 ####C# C#プラグイン必須です。 ####C# Extensions 必須です。 入れないと定義元へジャンプしたりできません。 ####C# FixFormat C#のコードをフォーマットしてくれます。 フォーマットパターンは自分でも設定できたはず。 ####C# XML Documentation Comments C#のコメントを書く時に楽できます。 スラッシュ3つで勝手にテンプレ作ってくれる。 ####Classy Naming コード補完。とりあえず入れてる。 ####Code Spell Checker スペルミスを良くするので入れてる。 スペルミスの箇所

    VS CodeでUnityプログラミングしてる僕が入れてる拡張機能 - Qiita
  • ドキュメント コメント用の推奨タグ (C# プログラミング ガイド)

    C# ドキュメント コメントは、XML 要素を使用して出力ドキュメントの構造を定義します。 この機能の結果の 1 つは、ドキュメント コメントに有効な XML を追加できることです。 C# コンパイラにより、これらの要素は出力 XML ファイルにコピーされます。 コメントでは任意の有効な XML (有効な HTML 要素を含む) を使用できますが、多くの理由からコードを文書化することが推奨されます。 いくつかの推奨事項、一般的なユース ケースのシナリオ、XML ドキュメント タグを C# コードで使用するときに知っておく必要があることを次に示します。 ドキュメント コメントに任意のタグを付けることができますが、この記事では、最も一般的な言語コンストラクトに推奨されるタグについて説明します。 すべての場合において、次の推奨事項に従う必要があります。 整合性を維持するために、公開されているすべ

    myzkkzy
    myzkkzy 2019/02/24
  • Capitalization Conventions - Framework Design Guidelines

    Note This content is reprinted by permission of Pearson Education, Inc. from Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 2nd Edition. That edition was published in 2008, and the book has since been fully revised in the third edition. Some of the information on this page may be out-of-date. The guidelines in this chapter lay out a simple method for us

    Capitalization Conventions - Framework Design Guidelines
    myzkkzy
    myzkkzy 2019/02/24
  • framework .NETFramework Version=v4.5 were not found · Issue #2158 · dotnet/vscode-csharp

    myzkkzy
    myzkkzy 2019/01/24
  • Difference between namespace in C# and package in Java

  • UnityのC#スクリプトでクラスやGameObjectなどを呼び出す手法集 - Qiita

    Unity(C#)のクラスやGameObject、Componentの呼び出しでよく使うパターンをまとめています。 頻出レベル まず知らないと困りそうな手法達です。 インスペクタを介してインスタンスを取得する Unityスクリプトの基ですが、GameObjectやComponent、画像などのリソースをインスペクタを介してフィールドで受ける方法です。 GameObjectとComponentはインスペクタ上の指定方法は同じですが、スクリプト側は区別するので注意してください。 // 設計とか考えずにとにかく使いたいなら public GameObject enemy; // Prefabを含むあらゆるGameObjectが対象 public Image userImage; // UI>Imageの画像書き換えなど // 外部から参照されたくないなら // 注意:Unity2018頃から初

    UnityのC#スクリプトでクラスやGameObjectなどを呼び出す手法集 - Qiita
    myzkkzy
    myzkkzy 2019/01/23
  • var の使いどころ - Qiita

    varって便利そうだけど、使い方を誤りやすい臭いがプンプンする。 ということで改めて調べて整理してみた。 var とは VB等でお馴染みのVariant型ですが、C#にも var というキーワードがあります。

    var の使いどころ - Qiita
    myzkkzy
    myzkkzy 2019/01/23
  • C# の自動実装プロパティの仕組み - C# 入門

    C# 3.0 以降では自動実装プロパティ (auto-implemented properties) が導入されました。 それについては「C# の自動実装プロパティ」で説明しました。 とても便利な機能です。 便利はいいのですが、どこにデータが保存されるのかわからなくて、気持ち悪い、という風に感じられる方もいらっしゃるのではないでしょうか。 ここではそうした疑問に答えるべく、自動実装プロパティを用いた場合、内部でどのようにプロパティが実装されるのか確認しましょう。 自動的にバッキングフィールドが作成される ひとことでいうと、自動実装プロパティを用いた場合、自動的にバッキングフィールドが作成されます。 「自動実装プロパティ」に書いた Person クラスを例にとると、 Person クラス内にはプライベートのバッキングフィールドが二つ作成されて、プロパティ(メソッド)を通して、それらに値をセッ

    C# の自動実装プロパティの仕組み - C# 入門
    myzkkzy
    myzkkzy 2019/01/21
  • C#のプロパティについて調べてみた - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    C#のプロパティについて調べてみた - Qiita
    myzkkzy
    myzkkzy 2019/01/21
  • プロパティ

    概要 プロパティ(property:所有物、特性)とは、JavaC++にはない(Visual Basicにはある)機能で、 クラス外部から見るとメンバー変数のように振る舞い、 クラス内部から見るとメソッドのように振舞うものです。 JavaC++がこの機能を持ってないことからも分かると思いますが、 プロパティはオブジェクト指向言語に必須の機能ではありません。 しかし、これから説明していくように、あると便利なものです。 ポイント プロパティ: 中(実装側)からはメソッドのように扱え、外(利用側)からはメンバー変数のように見えるもの。 実装の隠蔽(カプセル化)の原則を崩すことなく、 アクセサー関数の煩雑さを解消。 プロパティとは 「実装の隠蔽」で、 メンバー変数はクラス外部から直接アクセス出来ないようにして、 オブジェクトの状態の変更はすべてメソッドを通して行うべきだと書きました。 これを忠

    プロパティ
    myzkkzy
    myzkkzy 2019/01/21