タグ

プログラミングとC#に関するtyosuke2011のブックマーク (23)

  • インデクサー(C# によるプログラミング入門)

    概要 C# で利用できる基型の1つに配列があります。 配列では i 番目の要素を読み書きする際、 a[i] というように [] を用います。 「演算子のオーバーロード」でも述べましたが、 ユーザー定義型の理想は、組込み型とまったく同じように扱えることです。 そこで、C# では、 ユーザー定義型が配列型と同様に [] を用いた要素の読み書きが行えるようにインデクサーという仕組みが用意されています。 インデクサーを定義することで、ユーザー定義型のオブジェクトでも、 配列と同じような a[i] という形での要素の読み書きができるようになります。 ポイント 組み込み型(int や string など)とユーザー定義型(クラスや構造体)の区別をなくそう。 ユーザー定義型にも、配列っぽく[]を使ったインデックスアクセスを定義できます(インデクサー)。 書き方は、T this [int index]

    インデクサー(C# によるプログラミング入門)
  • 猫でもわかるプログラミング C#フォーム編INDEX

    Update 31/May/2007 By Yasutaka Kumei [E-mail] [C# コンソール INDEX] [総合INDEX] 当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。

  • Microsoft、「基礎C#認定資格」を公開 無料でC#が学べる35時間分のトレーニングコースも

    Microsoft、「基礎C#認定資格」を公開 無料でC#が学べる35時間分のトレーニングコースも:freeCodeCampと提携 Microsoftは、freeCodeCampと提携してC#の認定資格である「Foundational C# Certification」を公開した。C#プログラミングの基礎を包括的に学べる35時間のコースも含まれている。

    Microsoft、「基礎C#認定資格」を公開 無料でC#が学べる35時間分のトレーニングコースも
  • Mono Project

    Mono is a software platform designed to allow developers to easily create cross platform applications. Sponsored by Microsoft, Mono is an open source implementation of Microsoft's .NET Framework as part of the .NET Foundation and based on the ECMA standards for C# and the Common Language Runtime. A growing family of solutions and an active and enthusiastic contributing community is helping positio

  • 【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# によるプログラミングを解説して行くことになりますが、 ただ文章で説明するよりも実際にサンプルプログラムを挙げて説明するほうが分かりやすいと思うので、 そうして行きたいと思います。 また、ただ単に計算を行うだけのプログラムよりも、 ユーザーからの入力を受け取って、計算結果を出力するようなもののほうが面白いでしょうから、 そのようなサンプルプログラムを挙げていきたいと思っています。 そのためにまず、C# の文字ベースプログラムにおける入出力の行い方について簡単に説明しておきます。 ただ、現時点ではまだ詳しい説明は出来ませんので、 「とりあえずこうすれば入出力が行える」ということだけ覚えておいてもらうことになります。 値の入出力 ポイント 「まずは慣れろ」ということで、とりあえず今は詳しい説明省略。 入力 C#でユーザーからの入力を受け取りたい場合、 Console

    値の入出力
  • 【C#】SOLID原則を学ぼう - Annulus Games

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

  • http://www.web-ghost.net/blog/blog.cgi/entries/1211313045-9cea

  • プログラマーの言語別の呼び名

    仕事プログラマーが使う言語は、重要な商売道具。 人気のある言語ほど、呼び名が多いのも頷ける。 言語縛りのセミナーに行くと、大体が他の言語の悪口を終始言っている場面を見かけるが、その場にいる言語信者は納得言っても、大多数の言語が大好きな僕としては、別にpythonだろうが、rubyだろうが、どうでもいい。 効率的にプログラミング構築ができ、サービスとして世の中にちゃんとリリースして、一定以上の品質が出せるのであれば、どんなレガシーな言語であってもいいという持論だ。 とりあえず、プログラマーは、自分の書いている言語で自分たちに呼び名を付けるのが好きらしいので、エンジニアコミュニティの場で間違わないように、まとめておいた。 言語別呼び名一覧 PHP - PHPer(ペチパー) Javascript - JavaScripter(ジャバスクリプター) - JSer(ジェイサー) Perl - P

    プログラマーの言語別の呼び名
  • プログラミング。好きだけど、さようなら。

    追記(2015 5/20) 洋屋にジョブチェンジを果たしました。 --- 1年の間、プログラマとして働いていたが、続けていくことが無理だと思い、さようならする話。 プログラマになる前は、コーヒー屋で働いていた。しかし、色々とあり辞め、職業訓練校に通ってプログラミング(php)を学び、60人ほどのソフトウェア開発会社に就職した。 会社に入ると、まずC#の研修があった。研修と言っても、C#で内製ツールを独りで作るという研修だった。この研修中に「あれ、オレ、プログラム書けねー」と思ったりしたが、研修は終えることができたし、社内の人にも「なかなか良く出来ている」と言ってもらえ、大丈夫だろうと思っていた。 研修が終わり、C#の社内で実際に使われているツールに、機能をいくつか追加する仕事を振られた。前任者にどんな設計になっているのか大雑把に聞き、なんとなくイメージができ、コードを読み始めたのだが、こ

    プログラミング。好きだけど、さようなら。
  • C#ではじめるUnityプログラミング入門 - libro

    ※ページが正常に表示されない場合 AddBlockなどの広告ブロックツールがONになっていると、ページの一部が表示されないことがあります。これらのツールをOFFにしてみてください。

  • OpenCLやる前にSIMD使い切れっていう幻想 - aokomoriuta's blog

    お詫び アライン忘れてましたごめんなさい、でも時間あんまり変わってないから許して・・・ https://t.co/JNtq2U2kMq— 青子守歌 (@aokomoriuta) April 29, 2015 では編どうぞ↓ 編 若干話題に乗り遅れた感ありますが。 d.hatena.ne.jp けど、SSEも知らねー、SIMDも知らねー、なんか俺が書いたアルゴリズム遅いけどとりあえずOpenCLとかで高速化しよっかなーとかね、甘ったれてんじゃねえよ。CPUをもっと使いきれよ。お前のアオいコードのせいでCPUが泣いてるよ。っていう話ですよ。 GPGPUなんてのはSIMDを使い切った後の話でしょ。 GPGPUするのにGPUのパワーとメモリが足りませんとか言う前にまずSIMDからだろ。 とか言われてたので、検証することにした(やっつけ)。 環境 OS: Windows 7 Profession

  • C# アイドルマスターシンデレラガールズ等で学ぶオブジェクト指向 - Qiita

    ここから以下は物凄い真面目な話なので、萌えとかアイドルとかシンデレラとかを期待している方はご注意下さい。 なぜこのような投稿をする事になったのかと言うと以下のような会話があった。 「オブジェクト指向が分からん、解説サイトも見たがやっぱり分からん、ガンダムで例えてくれ」 「シャアの名はキャスバル・レム・ダイクンだが、シャア・アズナブルだと世に知られ、クワトロ・バジーナと名前を変え、やっぱり名前を戻したかと思えばシャア・ダイクン(小説版)となり、しまいには似たような全く別人のフル・フロンタルまで出てくる。 つまり、シャアを入れ物(オブジェクト)と定義し、キャスバル・レム・ダイクン、シャア・アズナブル、クワトロ・バジーナ、シャア・ダイクン、フル・フロンタルは実体化(インスタンス)である。これを C# のコードで書くとこうなる」 class シャア { public string name =

    C# アイドルマスターシンデレラガールズ等で学ぶオブジェクト指向 - Qiita
  • 2011-02-18 - ITは芸術だ レガシープログラマかどうかを判断する10項目

    ※2011.3.30追記 11個目の判断項目を追加しました。 また、「昔はね...」の補足説明を各項目に追加しました。 レガシープログラマ = モダンな言語のおいしい機能をうまく使いこなせていないプログラマ おいらは時々社内システムのコードレビューなんかをやっているのですが、「なんかちょっと前時代的だな〜」とか「ちょっと修正したらC言語でもコンパイルできそうだな〜」って思うことがよくあります。 おいらがレビューする言語は主にC#です。C#やJavaのような比較的モダンな言語のおいしい機能をうまく使いこなせていないプログラマを、ここでは「レガシープログラマ」と呼ぶことにします*1。 そこで、おいらがこれまでに見てきたコードの中から「これはレガシープログラマっぽい」と思った典型的な症例を10個11個挙げてみます。 レガシープログラマの判断項目 使われるローカル変数をすべてメソッドの最初に宣言す

    2011-02-18 - ITは芸術だ レガシープログラマかどうかを判断する10項目
  • 列挙型(C# によるプログラミング入門)

    概要 C# では、列挙型(enumeration type)と呼ばれるものを利用することで、曜日などの特定の値しかとらないデータを表現することが出来ます。 ポイント 列挙型: 特定の値しか取らないようなもの(例えば曜日など)に対して使う型 enum DayOfWeek { Monday, Tuesday, ... } 列挙型とは 例えば、曜日は月・火・水・木・金・土・日の7つの値しか取りませんし、 英語の月は January, February, March, April, May, June, July, August, September, October, November, December の12個の値しか取りません。 その他にも、 飛行機の乗車クラス(エコノミー・ビジネス・ファースト)、 日の年号(明治・大正・昭和・平成)、 性別(男・女)など、特定の値しか取らないものはたく

    列挙型(C# によるプログラミング入門)
  • フォームが一つしか表示されないようにする

    フォームが一つしか表示されないようにする VB6と同様にフォームにアクセスできるようにするVisual Basic 6.0以前のユーザーの多くは、VB.NETになって、Windowsフォームを表示させる方法の違いに戸惑ってしまうのではないでしょうか。VB6では、デザイナでフォームを作成し、コードで (フォーム名).Show とするだけでフォームを表示できました。しかも、同じフォームのShowメソッドを何回呼び出しても、フォームは1枚しか表示されません。 これに対して.NETでは、Newでフォームのインスタンスを作成してからShowメソッドを呼び出す必要があります。また、「NewしてShow」を繰り返すと、その数だけフォームが表示されます。 ここでは、VB6のように、簡単にフォームを扱えるようにするための方法を紹介します。 .NET Framework 2.0以降のVB.NETで、My.Fo

    フォームが一つしか表示されないようにする
  • マルチスレッド (C# によるプログラミング入門) - ++C++; // 未確認飛行 C++

    概要 .NET Framework では、マルチスレッドプログラムを作成するためのクラスライブラリを提供しています。 C# でマルチスレッドプログラムを作成する場合、これらライブラリ中のクラスを用いて行うことになります。 また、C# ではスレッド間の同期を取るために lock 文という構文を用意しています。 ポイント C# なら、Thread クラスとデリゲートで並行処理・並列処理もお手軽。 実際には、スレッドを直接作らず、スレッド プールというものを介して使う。 .NET Framework 4 以降なら、Task クラスを利用。 排他処理は lock 文で。 マルチスレッドとは まず、スレッドに関して簡単に説明しておきます。 簡単に言うと、スレッド(thread: 糸、筋道)とは一連の処理の流れのことを言います。 図1 に示すように、 処理の流れが一道な物をシングルスレッド、 複数の

    マルチスレッド (C# によるプログラミング入門) - ++C++; // 未確認飛行 C++
  • ラムダ式(C# によるプログラミング入門)

    概要 Ver. 3.0 ラムダ式(lambda expression)と言うのは、 関数型言語と呼ばれるような種類のプログラミング言語における用語なのですが、 関数(メソッド)を整数などの変数と全く同列に扱う手法のことです。 C# 3.0 で導入されたラムダ式は、 以下のようなものだと思ってください。 「デリゲート」に対して代入すると、「匿名メソッド式」と同じ扱いになる。 Expression 型の変数に代入すると、式木(expression tree)データになる。 ポイント C# 3.0 で導入されたラムダ式には、2通りの意味があります。 匿名メソッドを 2.0 の頃の記法より簡単に書ける。 上述の匿名メソッドと同じ記法で式木を作れる。 例:Func<int, int> square = x => x * x; 匿名メソッドの記法の簡略化 まず、1つ目。 ラムダ式は、 C# 2.0 の

    ラムダ式(C# によるプログラミング入門)
  • プログラミングやってみたい奴ちょっと来い!C#で簡単な講座やる! : IT速報

    1: 以下、名無しにかわりましてVIPがお送りします 2013/09/01 00:16:15 ID:e1pE6crH0 スレ立ったらC#で簡単なアプリ開発講座でもやってみる 2: 忍法帖【Lv=5,xxxP】(1+0:15) 【Dnews4vip1377657039668659】 【19m】 【東電 67.2 %】 【凶】 2013/09/01 00:16:36 ID:yEyVaL0t0 はよ 3: 以下、名無しにかわりましてVIPがお送りします 2013/09/01 00:16:55 ID:iS5589vUP まだかよ! 10: 以下、名無しにかわりましてVIPがお送りします 2013/09/01 00:17:46 ID:k3Zdtk8t0 期待 6: 以下、名無しにかわりましてVIPがお送りします 2013/09/01 00:17:16 ID:MEuI/urr0 数学大嫌いでもできます

    プログラミングやってみたい奴ちょっと来い!C#で簡単な講座やる! : IT速報
  • C# によるプログラミング入門

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

    C# によるプログラミング入門