タグ

programmingとc#に関するshin0Oのブックマーク (8)

  • Taskを極めろ!async/await完全攻略 - Qiita

    この記事は、 Task.Runを書けばとりあえず非同期で動くのはわかる 時々なんかうまく動かなかったりするけどどうして動かないのかはよくわからない よくわからないまま書いてよくわからないまま動いてるけどこれで大丈夫なのかわからなくてこわい みたいな人を対象にしています。 Taskクラスとasync/await 皆さん、非同期してますか?当然してますね。同期処理が許されるのはC#2.0までだよねーじゃなくて、async/awaitはC# 5.0から導入された、Taskクラスと紐付いた言語構文の一つです。登場はもう数年前なはずなんですが、未だに新しい言語仕様な感じがしてフシギです。それでもさすがに今は馴染んでいて、どこにでも遠慮なく飛び出てくるようになっています。 Taskの難しさ Taskは、難しいです。 Taskがというよりは、非同期処理自体が持つ複雑さが根に存在するため、いくらシンプル

    Taskを極めろ!async/await完全攻略 - Qiita
  • Excelファイルを C# と VB.NET で読み込む "正しい" 方法 - Qiita

    はじめに "Excel C#" や "Excel VB.NET" でググった新人プログラマが、古い情報や間違った情報で茨の道を選ばずに済むようにと思って書きました。 この記事は、Windows で Visual Studio を使用したデスクトップアプリケーション開発を想定しています。 VB.NET でも作成可能ですが、サンプルコードでは C# 6.0 を使用しています。どちらでもいいなら C# を使いましょう。 C# または VB.NETExcelファイルを読み込むには Google検索の罠 2016/4/11現在、日Googleで 「Excel C#」で検索 または「Excel VB.NET」で検索 すると、1ページ目に出てくるのはすべてMicrosoft.Office.Interop.Excelを使ったCOM参照による方法です。 これはどういう方法かと言うと、Microsof

    Excelファイルを C# と VB.NET で読み込む "正しい" 方法 - Qiita
    shin0O
    shin0O 2016/04/23
    OpenXMLかなんかでデータだけ隠しシートに吐き出してマクロで整形させるのが一番ラクだった
  • JavaとScalaとC#のジェネリクス機能比較表 - Onion開発しつつ、PEGEXを開発する日記

    JavaScalaとC#のジェネリクスは、いずれも継承を持ったオブジェクト指向言語においてParametric Polymorphismを実現するための手段であり、それぞれ異なった特性を持っている。というわけで、それぞれの言語においてジェネリクスがどのようにサポートされているかを比較した表を用意してみた。後で気が向いたら、各項目の説明を追加するかも。 Java(5.0以降) Scala C#(4.0) ジェネリックなクラス ○ ○ ○ ジェネリックなメソッド ○ ○ ○ 型パラメータの上限 ○ ○ ○ 型パラメータの下限 × ○ × 型パラメータの推論 ○ ○ ○ 全ての型のサブタイプ(ScalaにおけるNothing) × ○ × definition-site variance × ○ ○ use-site variance ○(Wildcard) ○(Existential Typ

    JavaとScalaとC#のジェネリクス機能比較表 - Onion開発しつつ、PEGEXを開発する日記
    shin0O
    shin0O 2016/02/15
    このあたりまで理解しないと使えるとは言えねえなあ
  • matarillo.com: モナド - みんな大好き、モナドに関する記事の一覧

    2018-06-30 11:07:18 みんな大好き、モナドに関する記事の一覧 Fabulous Adventures In Coding 元MSのC#コンパイラーチームの主任デベロッパー、その後コベリティを経て現在はFacebookにいるEric Lippertのブログで連載されていたモナドの解説記事の翻訳。 パート1 モナド・パターンは型に関するパターンである。 パート2 モナド的な型についていくつか実例を紹介し、共通点を知る。 パート3 モナド的な型に対してある演算を行い、ルールを2つ見出す。 パート4 2つ目のルールを一般化できないか試す。 パート5 一般化した2つ目のルールをさらに変更し、当のルールを得る。 パート6 2つのルールにいくつかの制約を追加する。 パート7 最後の制約を説明し、制約のことをモナド則と呼ぶ。 パート8 モナド生成処理と関数適用処理の伝統的な名前を紹介。

    matarillo.com: モナド - みんな大好き、モナドに関する記事の一覧
  • 連載:C# 4入門 - @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用のアドイン。プレゼンテー

  • C#たんと学ぶ/わりと硬派なソフトウェア開発講座 第1回「C#でできること」

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    C#たんと学ぶ/わりと硬派なソフトウェア開発講座 第1回「C#でできること」
  • 汎用的に使用できる定義済みのデリゲート型は?[C#、VB] - @IT

    .NET Framework 2.0のジェネリックや.NET Framework 3.5でのラムダ式などの導入により、C#やVBでデリゲートの仕組みを使用する機会が増えている。これに伴い、.NET Frameworkのクラス・ライブラリには、汎用的に使用できるデリゲート型の定義が多く追加されている。 ここでは、そのような定義済みのデリゲート型をまとめてみた。以下の2つの表はそれをC#およびVisual Basic(以下、VB)で表記したものだ。MethodInvoker型はSystem.Windows.Forms名前空間で定義されているが、それ以外はすべてSystem空間で定義されている。

  • 勉強用ページ

    using static System.Console; class Welcome { /// <summary> /// saying hello to all visitors and welcome. /// </summary> /// <param name="args">visitors</param> public static void Main(string[] args) { foreach(string visitor in args) { WriteLine($"Hello {visitor}."); } WriteLine("Welcome to my web page."); } } C# によるプログラミング入門 コンピュータの基礎知識 アルゴリズムとデータ構造 ブログ ようこそ ++C++; へ。 C#・情報工学を中心に勉強用ページとブログを載せています。

    勉強用ページ
  • 1