タグ

C#に関するs_hiiragiのブックマーク (16)

  • enumの項目数を取得する - Qiita

    Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    enumの項目数を取得する - Qiita
    s_hiiragi
    s_hiiragi 2024/01/11
  • enum(列挙型)の項目数を取得する方法 C# - テクニカルノート

    enum(列挙型)の値ではなく、項目数そのものを使用したいケースがあります。今回は項目数を取得する方法を紹介します。 System.EnumクラスのGetValuesメソッドを利用すると定数の値を格納する配列が取得できますので、それを利用して項目数として取得しています。 System.Enum.GetValues(typeof(eNumCount.Form1.eUserdata)).Length 以下サンプルコードです。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; u

    enum(列挙型)の項目数を取得する方法 C# - テクニカルノート
    s_hiiragi
    s_hiiragi 2024/01/11
  • C# で共用体 (union) を実現するには - Qiita

    C / C++ には「共用体」(union) というのがありますが、C# にはありません。 ですが、属性 StructLayout(LayoutKind.Explicit) と FieldOffset を使って実現は可能です。 MSDN にも解説があります。 以下にサンプルを示します。 using System; using System.Runtime.InteropServices; // C# 共用体のテスト public class UnionTest { public static void Main() { var bytes = new TBytes(); bytes.Word = 0x12345678; Console.WriteLine("{0:x}", bytes.Byte0); // 78 Console.WriteLine("{0:x}", bytes.Byte1)

    C# で共用体 (union) を実現するには - Qiita
    s_hiiragi
    s_hiiragi 2023/11/28
  • 【C#】構造体(struct)を完全に理解する - Annulus Games

    今回の記事はC#における構造体(struct)について。 複合的なデータを扱う際、多くの場面ではクラス(class)が用いられるかと思います。しかし、パフォーマンスが重要な場面や、GCによる影響が大きいUnityなどでは、状況に応じてクラスではなく構造体を使用した方が良いこともあります。 近年はC#においてもパフォーマンスが重視されるようになり、構造体が用いられる機会も多くなっています。またUnityのDOTSにおいても、C# Job SystemやBurst Compilerに最適化されたコードを書くために構造体を多用することになります。 ここでは構造体に関する基礎的な知識から、クラスと構造体のメモリ管理について、そして実際に構造体を用いる際の注意や活用方法についても解説していきたいと思います。 ただ今回の記事、調子に乗って色々な内容を詰め込んだ結果、めちゃくちゃに長くなってます。そのた

    s_hiiragi
    s_hiiragi 2023/09/18
  • Null 非許容な参照型 - Qiita

    この記事について この記事は2017年 C# Advent Calendar 12月9日の記事です。 C# 8.0に向けて検討中で、11/15にプレビュー版が公開された C# の新機能「nullable reference types」について説明するものです。 "nullable reference types" を直訳するなら「Null 許容参照型」になるかと思いますが、この機能の実態を一言で言うと、参照型がnullを 可能な限り受け入れない ようにするもの、と考えたほうがいいでしょう。そのあたりのことを説明していきます。 Disclaimer: この記事は11/15のプレビュー版を前提にしたものです。これはあくまで現時点での 仕様に関する議論 を形にしたプロトタイプでしかなく、今後の議論によって仕様も実装も大きく変わる可能性があると思っていたほうがいいでしょう。CTP (Commun

    Null 非許容な参照型 - Qiita
  • continuatioN Linking

  • C#入門 - WisdomSoft

    この講座は Microsoft .NET Framework 1.0 で動作確認しています 他のバージョンでは一部正常に動作しない可能性があります

    s_hiiragi
    s_hiiragi 2012/08/13
  • http://www15.ocn.ne.jp/~sunsan-k/sunsank.files/sunsan/d-net/prog.html

  • ref キーワード - C# リファレンス - C#

    ref キーワードは、次のコンテキストで使用できます。 メソッド シグネチャとメソッドの呼び出しで、参照によってメソッドに引数を渡す。 メソッド シグネチャで、参照渡しで呼び出し元に値を返します。 詳細については、ref returnを参照してください。 ローカル変数の宣言で、Declaration ステートメントの記事の参照変数セクションを宣言する。 条件付き ref 式または ref 代入演算子の一部として。 struct 宣言で、ref struct を宣言する目的で。 詳細については、ref構造体の種類の記事を参照してください。 ref struct 定義で、ref フィールドを宣言します。 詳細については、「ref構造体型」の記事の「refフィールド」セクションを参照してください。

    s_hiiragi
    s_hiiragi 2012/08/13
    参照渡し. 「メモ:参照渡しの概念と参照型の概念とを混同しないでください。 これら 2 つの概念は同じではありません。」
  • C#たんっ!

    久しぶりにtwitter以外で文章を書いたんだ。僕はキメ顔でそう言った。 プロ生ちゃんが聞く! 2014年プログラミング言語動向 さて、このインタビューで出てきたRoslynっていうものについて、少しフォローアップをしておきましょう。 コンパイラーは2つある Roslyn以前のお話。あるいは、Roslynが解決する問題。 コンパイラーは2つ保守されています(C#に限った話ではなくて、例えばJavaなんかでも)。要するに、ソースコードをILやバイトコードに変換するためのものと、統合開発環境(IDE: Integrated Development Environment)がソースコード解析などに使うもの。 後者は最終成果物であるILやバイトコードを生成しないので、正確に言うとコンパイラー(compiler: 翻訳者)ではないんですが(パーサー(parser: 文法を説明するもの)というのが正し

    C#たんっ!
    s_hiiragi
    s_hiiragi 2012/07/18
  • C#でのユーザー定義Exception(例外)の作り方

    「プログラムにエラーはつきもの」 と言うのは、言い過ぎかも知れませんが、 エラーが起こる可能性を0(ゼロ)にすることはなかなか難しい。 エラーが発生した場合、そのエラーがなぜ発生したのかがわかると、 対処がしやすいものです。 そのため、何のエラーかを識別するために、.NET Frameworkには多くのExceptionが存在します。 しかし、これらのExceptionだけでは足らず(適切なものがなく)、 自ら定義をして例外の種類を追加したいことがあります。 このような場合、ユーザー自身がExceptionを定義することで、 より細かくエラーを識別する手助けをすることができます。 今回は例外を試すだけなので、コンソールアプリケーションで行いましょう。 ("ファイル" > "新しいプロジェクト" > "コンソール アプリケーション") 例外のためのクラスを追加します。 例外を作成する場合は、

    C#でのユーザー定義Exception(例外)の作り方
  • 標準クエリ演算子(クエリ式関係)

    概要 Ver. 3.0 「LINQ」で、 構文の追加(クエリ式): C# 3.0 で、SQL 風の問い合わせ構文が書けるようになった。 メソッド群の追加(標準クエリ演算子): クエリ式は、Where、Select などのメソッド呼び出しに変換される。(これらのメソッドを標準クエリ演算子と呼ぶ。) という話をしました。 ここでは、 どういう C# クエリ式がどういう標準クエリ演算子(メソッド呼び出し)に変換されるかを説明しつつ、 クエリ式に関係する標準クエリ演算子を紹介します。 (ちなみに、標準クエリ演算子の中には、クエリ式で表せない (メソッド呼び出しの形でしか使えない)ものも多数あります。 次節の「標準クエリ演算子(その他)」で説明。) サンプルデータ 次節以降の説明では、例として以下のようなデータを使います。 var a = new[] { new { X = 0, Y = 10, Z

    標準クエリ演算子(クエリ式関係)
  • C# によるプログラミング入門 [データ処理] LINQ

    概要 Ver. 3.0 C# 3.0(そして、同時に発表された VB 9.0)の目玉となる新機能は、 Language Integrated Query、略して LINQ と呼ばれるもので、 リレーショナルデータベースや XML に対する操作をプログラミング言語に統合するものです。 LINQ を用いることで、様々なタイプのデータソースに対する検索や操作を、 共通の構文で行うことができます。 IEnumeable を実装するコレクションクラスに対するもの(LINQ to Object)や、 XML に対するもの(LINQ to XML)、 それに、リレーショナルデータベースサーバに対する SQL クエリを生成するもの(LINQ to SQL)などがあります。 LINQ には以下のような利点があります。 オブジェクト指向言語らしい書き方でデータベースへの問い合わせができます。 in-memor

    C# によるプログラミング入門 [データ処理] LINQ
  • C# によるプログラミング入門 / ++C++;// 未確認飛行 C

    C# によるプログラミング入門です。C# 初心者の方はもちろん、これからプログラミングを始めようという方も対象としています。

    C# によるプログラミング入門 / ++C++;// 未確認飛行 C
    s_hiiragi
    s_hiiragi 2012/06/13
  • 連載:C# 3.0入門 ― @IT

    第2回 簡潔なコーディングのために (2017/7/26) ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21) Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基の「キ」をマスターしよう 第1回 明瞭なコーディングのために (2017/7/19) C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える Presentation Translator (2017/7/18) Presentation TranslatorはPowerPoint用のアドイン。プレゼンテー

    s_hiiragi
    s_hiiragi 2012/06/12
  • 連載:C# 2.0入門 ― @IT

    第2回 簡潔なコーディングのために (2017/7/26) ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21) Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基の「キ」をマスターしよう 第1回 明瞭なコーディングのために (2017/7/19) C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える Presentation Translator (2017/7/18) Presentation TranslatorはPowerPoint用のアドイン。プレゼンテー

    s_hiiragi
    s_hiiragi 2012/06/12
  • 1