タグ

c#に関するymm1xのブックマーク (12)

  • C#大統一理論 - Qiita

    C#大統一理論とは CySharpのneueccさんが提唱している理論で、ザックリ言えば サーバーサイドもクライアントサイドもC#で完結できるとよくね? という理論です。 そして現状サーバーサイドとクライアントサイドの両方で使える言語はC#を除くとJavaScriptくらいだと思います(なんかあったら教えてください) C#でクライアントサイドを作るにはXamarinゲームエンジンのUnityが筆頭になります。 C#のよさ いろいろありますが、個人的に上げるなら 比較的言語が若く(C++と比較して)、LINQなどモダンな文法仕様が遂次追加されている(というかLINQは単独で良い)。 単純に.NET Coreがクラスプラットフォームで安定して動作する。マイクロソフトが気を出してるからサーバーサイド、クライアントサイドから機械学習まで使える範囲がめちゃくちゃ広い。 decimalみたいな型ま

    C#大統一理論 - Qiita
    ymm1x
    ymm1x 2019/12/04
  • C# 複数の連続usingステートメントについて"まとめ書き"を広めたい

    2020/4/25 追記 C# 8.0以降はusingステートメントをネストしないで利用できます。こちらを検討するもの良さそうですね。 C# 8.0の新機能のusing 宣言をご参考ください。 前置き 久しぶりに他人のC#のコードを見て思い出しました。10年以上C#のコードを読んでいますが複数の連続するusingステートメント(以下、using)は都度ネストしていることが非常に多いです。 using (var srTextA = new StreamReader("a.txt")) { // ネストした using (var srTextB = new StreamReader("b.txt")) { // またネストした using (var swTextC = new StreamWriter("c.txt")) { // またまたネストした } } } すでに色々なところで"まとめ書

    C# 複数の連続usingステートメントについて"まとめ書き"を広めたい
  • C# 今更ですが、ラムダ式 - Qiita

    最初に 一体何番煎じの記事なんだ… でも、C#の初心者が順番に文法を学んでいって、最初に詰まるところはラムダ式じゃないかな、と思います。理由ははっきりしていて、ラムダ式だけ考え方、つまり頭の使い方が違うんですよね。この記事が理解の足しになればな、と思います。 またいつものループ処理か… List<T>の各要素に対して XX 処理をする、というのは、C#をやっていると頻繁に出くわすのではないでしょうか? 例えば List<string>の各要素の文字列に対して、".txt"を付ける、みたいな処理です。まぁ、foreachでいいですよね。 var list = new List<string>(); // このListの各要素に".txt"をつける var result = new List<string>(); foreach (var s in list) { result.Add(s +

    C# 今更ですが、ラムダ式 - Qiita
  • ギガバイトクラスのJSONをデシリアライズするのにUtf8Jsonを使ってみる - Qiita

    linq.jsやZeroFormatterなどステッキーなライブラリを作っているneuecc先生の新作JSONシリアライザーのUtf8Jsonを試してみました。 Utf8Json - Fast JSON Serializer for C# https://github.com/neuecc/Utf8Json ”Definitely Fastest”(明らかに最速)とのことなので、最速の恩恵を受けそうな例で実践します。拙作で恐縮ですが、C#で仮想通貨取引所のリアルタイムレートを記録するプログラムを作ってみたを1週間実行したところ、合計1GBを軽く超えるJSONファイルが生成できました。それをデシリアライズするプログラムを作ります。そして、既存のJSONシリアライザーとの比較を行います。 環境:VisualStudio2017 Community / .NET 4.6.0 ライブラリのバージョ

    ギガバイトクラスのJSONをデシリアライズするのにUtf8Jsonを使ってみる - Qiita
  • 現在時刻の取得をコード中に直に書かない - Qiita

    現在時刻がわれわれを困らせる C#ならDateTime.Now、JavaならSystem.currentTimeMillis()、現在時刻は簡単に取得できます。 しかしこれらの問い合わせ、コード中に書いてしまうと問題が出ます。 それは、 テストが書きづらくなる こと。実行機会ごとに違う値を返す存在が紛れ込んでいればコードの振る舞いも実行機会ごとに変わってしまうのだから当然のことです。 ですから、こうしましょう。 1. 時刻取得をするためだけのクラスを作る 2. そのクラスからインターフェースを抽出 3. アプリケーションコードは時刻取得インターフェースを叩くように書き、起動時に物の時刻取得クラスを注入する 4. テスト時は、テスト用の固定時刻を返すテスト用クラスを注入する ややこしい? いえいえコードにしてみれば単純なことです。 まず時刻取得インターフェース(C#ならinterfaceに

    現在時刻の取得をコード中に直に書かない - Qiita
  • ListBoxのItemsって結局のところ、こういうことでしょ - C#

    ListBoxのItemsプロパティを調べるとListBox.ObjectCollectionがどうのこうのと説明されてもピンとこなかった。 だいたいプロパティにインデックスがある時点で何故に?となるでしょ。配列?インデクサ?何じゃコレ?みたいな。 リファレンスってどうしてこう回りくどくて分かりづらく書いてるのかねぇ。たまに「説明になってないぞよ」とツッコミを入れる。 だが私も少々進歩して、結局のところこういうことでしょ?みたいなモノを書いてみた。合ってるかどうかは責任持ちませぬ。 class Program { static void Main(string[] args) { ParentObject po = new ParentObject(); po.Items.Add("foo"); po.Items.Add(123); Console.WriteLine( "Items[0]

  • 連載 C#入門 - @IT

    1.目に見えない変換 暗黙の変換ができないとき キャストがデータを壊すとき 2.実数でもキャスト 実数でもキャスト 定数値にキャスト 符号の有無は要注意 小数の切り捨て 3.参照型のキャスト 参照型のキャスト 無関係の参照型へのキャスト スーパー・クラスへのキャスト アンボクシングとキャスト まとめ 1.C#の演算子 2.四則演算(+、-、*、/) 剰余演算 (%) 比較演算 (<、>、<=、>=、==) is演算 (is) 論理演算 (&、^、|) 条件演算 (「~ ? ~ : ~」) シフト演算子 (<<、>>) 単項演算子 (+、-、!、~) インクリメント・デクリメント演算子 (++、--) 代入演算子 (=、+=、-= …) 論理条件演算子 (||、&&) まとめ コラム:Visual Studio.NET ベータ2使用時の注意

  • ライブラリ

    概要 ライブラリ(library)とは、一言で言うと便利な機能をまとめておいて、他のプログラムから呼び出せる形にしたものです。 .NET framework SDK をインストールすると、コンパイラと一緒にさまざまなライブラリが初めからインストールされます。 C# に限らず、このようにコンパイラとセットで必ず提供されるライブラリのことを標準ライブラリ(standard library)などと呼んだりもします。 自分でライブラリを作成することも出来るのですが、ライブラリの自作や、自作したライブラリの利用方法は後ほど説明することにして、ここでは標準ライブラリについて少し説明したいと思います。 ポイント ライブラリ: よくつかわれる機能をひとまとめにしたもの C# (というか、.NET Framework)には標準で多種多様なライブラリが付属します .NET framework の標準ライブラリ

    ライブラリ
  • Visual C# .NET - すべてのサンプル

    ここでは、Visual C# .NET のサンプルコード (Tips) を分類ごとに掲載しています。初心者・入門者用のページです。 別ウィンドウで開きたい場合は、Shift を押しながらリンク先をクリックしてください。 初めにお読みください 例外処理などを極力省いています。実際に使用する場合は、その状況に合わせて実装してください。 オブジェクトの破棄が明示的に行われていないものがあります。実際に使用する場合は、必ず破棄するように実装しなければなりません。詳しい説明は、オブジェクトの破棄を保証する などをご覧ください。 自己責任のもとお使いください。損害を被った場合でも、著者は一切責任を持ちません。 サンプルの誤りを発見された場合は、管理人へ連絡 して頂けると嬉しいです。 プログラミング全般 オブジェクトの破棄を保証する COM オブジェクトの参照カウントを解放する 検証・エラーチェック 数

  • KeyPressなどのキーイベントをすべてフォームが受け取るようにする: .NET Tips: C#, VB.NET

    KeyPressなどのキーイベントをすべてフォームが受け取るようにする通常フォーム上のコントロールにフォーカスがある時にキーをたたくと、 KeyPress、KeyDown、KeyUpイベントはそのコントロールにのみ渡されます。しかし、フォームのKeyPreviewプロパティをTrueにすると、すべてのキーイベントをまずフォームが受け取り、処理が終了してからフォーカスのあるコントロールに渡されるようになります。また、eパラメータのHandledプロパティをTrueにすることにより、フォーカスのあるコントロールにキーイベントを渡さないようにすることもできます。 次の例では、Form1のKeyDownイベントで受け取ったキーの種類を表示し、Button1をクリックするたびにForm1のKeyPreviewプロパティのTrue/Falseを入れ替えるようにしています。このようなコードでKeyPre

    KeyPressなどのキーイベントをすべてフォームが受け取るようにする: .NET Tips: C#, VB.NET
  • DOBON.NET .NET Tips

    ここでは、Microsoft .NET Frameworkプログラミング(C#、VB.NET、Visual Studioなど)のTip(小技)を紹介しています(逆引き集のようなものです)。ソースコードやサンプルも多数公開しています。 .NET Tipsをご利用いただく際は、注意事項をお守りください。記事の評価一覧は、こちらで閲覧できます。をクリックすると、その記事を別のウィンドウに表示します。このウィンドウはひとつしか表示されませんので、複数の記事を連続してご覧になりたいときに便利です。が付いているリンクは、来は別のカテゴリに属している記事です。メールマガジン「.NETプログラミング研究」もあります。フォーム(System.Windows.Forms)コントロール(System.Windows.Forms)DataGridコントロール(System.Windows.Forms)DataG

  • 【独断と偏見】C#erでも許せるかも知れないフルスタックPHP - Qiita

    なにかと dis られる言語 PHP ですが、dis られる要因としては 利用者が多い(少なければそもそも話題にならない) 言語自体に開発者を導くコンパスがない 結果的に負の遺産が多く築かれる ということがあると考えています。 PHP をうまく使ってご飯をべている身としていくら dis られようと何ら弊害はないのですが、PHP は OSS で安定性・拡張性・言語自体の開発の活発さを保っておりコミュニティもとても活発な言語なので、今回は「PHP を使うとしたらこうやるといいよ」という方向性で書いてみようと思います。 あくまで個人の主観に基づいた記事です。ご了承下さい。 あくまでウェブアプリケーションを開発することを想定しています。 (それ以外の用途があるとは思いませんが) その前に、なぜ PHP を使うのか PHP は書けば動くから簡単だよ という罠 この言葉を耳にしたのは専門学校時代です

    【独断と偏見】C#erでも許せるかも知れないフルスタックPHP - Qiita
  • 1