タグ

2011年12月9日のブックマーク (19件)

  • C#2005での多次元配列の、サイズ変更について - C#で多次元配列のサイズを変更するにはどうしたらいいでしょうint[,]a=n... - Yahoo!知恵袋

    多次元配列は new しなおさないとサイズを変更できませんので、コレクションクラスを使いましょう。 多次元配列の代替なら、ネストしたリストか、カスタムクラスをキーにしたディクショナリにするのがよいと思います。 // ネストしたリスト List<List<int>> list = new List<List<int>>(); // 登録はこんな感じ list1 = new List<int>(); list1.Add(10); list1.Add(20); list1.Add(30); list.Add(list1); list2 = new List<int>(); list2.Add(40); list2.Add(50); list2.Add(60); list.Add(list2); // 取りだすときはこんな感じ int result = list[0][1]; // 20 が取れる

    C#2005での多次元配列の、サイズ変更について - C#で多次元配列のサイズを変更するにはどうしたらいいでしょうint[,]a=n... - Yahoo!知恵袋
  • Project Euler - PukiWiki

    Project Euler † プログラムで解く数学の問題集です。 公式サイト 適当に和訳してます。我こそはと思う人はライセンスを確認した上で自由に書いてください。 ↑

  • ファイル操作

    概要 System.IO 名前空間以下に、ディレクトリ(フォルダ)・ファイルの作成・読み書き等を行うためのクラスが用意されています。 ファイル操作などの処理は、 オブジェクト指向言語との相性もいいですし、 C# の 「foreach 文」 や 「LINQ」 との親和性も高いので、 C# でのファイル操作の楽さには目を見張るものがあります。 Directory, File System.IO.Directory と System.IO.File には、 ディレクトリやファイルを読み書きするための static メソッドがあります。 using System; using System.IO; class TestIO { static void Main() { if(!Directory.Exists("test")) Directory.CreateDirectory("test");

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

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

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

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

    C# によるプログラミング入門 / ++C++;// 未確認飛行 C
  • イテレーター - C# によるプログラミング入門 | ++C++; // 未確認飛行 C

    概要 C# の foreach 構文は、コレクションクラスの利用者側から見ると非常に便利な機能です。 しかしながら、実装側から見た場合、IEnumerableやIEnumeratorインターフェースを実装する必要があり、結構面倒な作業が必要でした。 この実装側の労力を軽減するために、C# 2.0ではイテレーター構文というものが追加されました。 ポイント イテレーター構文: IEnumerator を簡単に実装するための機能。 return の代わりに yield return イテレーター ブロック メソッドやプロパティのgetアクセサーなどを定義する際、ブロック中にreturnの代わりにyield returnもしくはyield breakを書くことで、通常のメソッドやプロパティとは違った動作が得られます。この、yield returnもしくはyield breakを含むブロックのことを

    イテレーター - C# によるプログラミング入門 | ++C++; // 未確認飛行 C
  • 継承

    概要 継承(inheritance)とはオブジェクト指向の中核を担う概念で、 あるクラスから性質を受け継いだ新しいクラスを作ることです。 継承は派生(derivation)とも呼ばれます。 ポイント オブジェクト指向の中核概念その2: 継承。 「人間」⊃「学生」のように、包含関係のあるものを表現する方法。 「学生は人間を継承する」、「学生は人間から派生する」などと言う。 class Person { ... } に対して、class Student : Person { ... } と書く。 継承関係とは 継承関係の例として、「人間」と「学生」という2つのクラスについて考えて見ましょう。 「学生」は「人間」の一部です。 すなわち、「学生」ならば必ず「人間」としての特徴を備えています。 それとは逆に「人間」だからといって必ずしも「学生」であるとはいえません。 つまり、「学生」は「人間」の特別

    継承
  • 静的メンバー

    概要 静的メンバー(static member)とは、 特定のインスタンスにではなく、クラスに属するフィールドやメソッドのことです。 そのため、静的変数のとこをクラス メンバーとも呼びます。 (クラス変数という呼び名の方が意味合い的には正しいのですが、 C言語から派生したというC#の歴史的な背景のため、静的変数という呼び方をします。) 「静的」という言葉は、各種メンバー(フィールド、メソッド、プロパティなど)それぞれに対して、静的フィールド、静的メソッド、静的プロパティ、… などという使い方もします。 また、静的メンバーとの区別を明確にしたい場合には、通常のメンバー変数のことをインスタンス メンバーと呼びます。 ポイント 静的メンバー: この呼び方は歴史的なもので、実際にはクラス メンバー(クラス メソッド、クラス フィールド)と呼ぶ方がいいかも。 static キーワードをつけると静的メ

    静的メンバー
  • C++関数の呼び出し - Visual C# - Visual Studio User Group

    # MFC, ATL, WTL では,デフォルトの状態だと, # /clr だけではビルドできず,数時間ハマったので... C++プロジェクトで,プロジェクトのプロパティを開き, 構成プロパティ -> C/C++ の コード生成 で, ランタイム ライブラリ のところを(例えば,ATLだと, /MTd, /MT になってるところを)  ・ Debugビルド時       /MDd  ・ Releaseビルド時     /MD にします。 (/clr スイッチと一緒には,  C/C++ランタイムは,ダイナミックリンクしか使えないので,  /MTd, /MT 等は,使えないようです。 ※ 以下のリンク参考) で, 構成プロパティ -> 全般 で,共通言語ランタイムサポート のところを /clr にします。 あと,ATLやWTLの場合, ソルーションエクスプローラで, 生成されたファイルの中

  • プロパティ

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

    プロパティ
  • クラス

    迷うようならクラスにしておけばいいと思います。 構造体は、以下の条件がそろっている場合にのみ使います。 データのサイズが小さい(目安としては16バイト程度以下) 絶対に継承しないと分かっている 変数への代入がコピーを生むというのが許容できる クラスの分割定義 Ver. 2.0 C# 1.1 以前は、クラスの定義は全て1つのファイルに収める必要がありました。 まあ、1つのクラスの中身が、複数のファイルに散在するとソースファイルの可読性が低くなるので、 通常は、むしろ、クラス定義を複数のファイルに分割できない方がいいのですが、 時折、クラス定義を分割したい場面があります。 例えば、Visual Studio などの統合開発環境を利用していると分かると思いますが、 ソースファイルの一部分はプログラマーの手書きではなく、 開発ツールが自動的に生成してくれる部分があります。 そして、この自動生成部分

    クラス
  • [雑記] 例外の使い方(C# によるプログラミング入門)

    概要 言語構文的な意味での例外処理の方法は「例外処理」で説明しましたが、 実際のところ、どういう場合にどうやって例外を投げて、 どうやって処理すればいいのかは、 慣れるまでなかなか難しかったりします。 ということで、ここでは、例外の使い方について説明したいと思います。 例外の投げ方の基方針 例外の投げ方に関する考え方は意外とシンプルで、 「メソッドの定める結果を達成できないなら例外を投げる」という方針で OK です。 いくつか例を挙げてみましょう。 規約と例外 メソッド 規約 例外が起きる場面

    [雑記] 例外の使い方(C# によるプログラミング入門)
  • 名前空間

    概要 名前空間(name space)とは、 ファイルを種類ごとにフォルダに分けて管理するのと同じように、 クラスを種類ごとに分けて管理するための機構です。 ポイント namespace キーワードで名前空間を定義します。 フォルダを掘ってファイルを整理するような感覚で、名前空間を作ってクラスを整理します。 例: namespace SampleNameSpace { class SampleClass {} } 名前空間とは 名前空間は、ファイル整理のためにフォルダ分けすることに例えられます。 例えば、ウェブページを作成する場合、コンテンツごとにフォルダに分けて管理すると、サイトの管理がしやすくなります。 例えば、うちのサイトの場合、以下のようなフォルダ構成になっています。 (注:今は構成が変わっています。昔はこういう構成でした。) /--+-- memo (ブログ的な何か) | +--

    名前空間
  • ライブラリ

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

    ライブラリ
  • エレクトロニカ格好よすぎワロタwwwwwwwww : 妹はVIPPER

    1:以下、名無しにかわりましてVIPがお送りします:2011/10/17(月) 05:40:03.51 ID:kxIQgQ5H0 歌がないからとか単調だからとか言って聞かず嫌いしてんだろ? いいから黙って聞けよ 歌ってるやつもあるから展開激しいやつもあるから 聞いてるうちに耳から離れなくなって気づいたらiPodの中身ポコポコしてっから 2:以下、名無しにかわりましてVIPがお送りします:2011/10/17(月) 05:41:08.37 ID:LfXdoM+ui もうね ゴリゴリしたのは疲れるんだよ BPM120くらいでいいんだよ 5:以下、名無しにかわりましてVIPがお送りします:2011/10/17(月) 05:42:18.75 ID:3XRfyt1s0 ダフトパンク 13:以下、名無しにかわりましてVIPがお送りします:2011/10/17(月) 05:46:43.78 ID:kxI

    エレクトロニカ格好よすぎワロタwwwwwwwww : 妹はVIPPER
  • C# によるプログラミング入門

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

    C# によるプログラミング入門
  • KI für den Menschen – Intelligente Lösungen für die Wissensgesellschaft

    Bundesdigitalminister Dr. Volker Wissing hat heute gemeinsam mit der rheinland-pfälzischen Wirtschaftsministerin Daniela Schmitt ein neues… Mit einem Teilnehmerrekord von rund 900 Experten aus Forschung, Wirtschaft und Politik startete am Dienstag, 2. Juli, die „Berlin 6G Conference“.…

    KI für den Menschen – Intelligente Lösungen für die Wissensgesellschaft
  • 特集 私がJavaからC#に乗り換えた10の理由(1/4) - @IT

    起きてから寝るまで、息を吸うのも、厠(かわや)での一連のアクションも.NET Frameworkで構築している私だが、実は少し前まで目を閉じるとまぶたの裏でJavaのマスコットである“Duke”がゴーゴー・ダンスを踊っちゃうくらいにJavaな日々を送っていた。そんな私が過去の資産を捨てて.NET Frameworkに転んだ理由は簡単。.NET Framework、特にC#の設計思想が私のし好に合っていると感じたためだ。 稿では、私がJavaからC#に乗り換えた理由を示し、それを基にC#の“正しい”使い方について考察する。C#に興味のあるJavaプログラマや、どう使えばよいのか悩んでいるC#プログラマに読んでいただきたい。そうそう、アーキテクトにも。プログラミングできないアーキテクトなどあり得ないのだから。 C#とJavaは似ていない。確かに表面上は似ているが、C#にはJavaにはない文法

  • C#でお世話になっているサイト - aont’s diary

    JavaScript変態文法最速マスター - 葉っぱ日記」や「Java変態文法最速マスター - プログラマーの脳みそ」のように変態文法はあまりしらないので書けませんが、「はてなC#er - 平々毎々(アーカイブ)」にならって、いままでC#でプログラミングしているときにお世話になったサイトを紹介します。全部ではないのであしからず…ご指摘くだされば追記しますのでよろしくお願いします。 教科書的に書いてあるサイト ぐぐったときに良く引っかかるのでお世話になってます。Win32APIを呼び出すにはどうしたらいいかとかいろいろお世話になりました。 VBMP3 on C# - notes plastiques mp3infp on C# - notes plastiques MIDI on C# - notes plastiques C# によるプログラミング入門 | ++C++; // 未確認飛行

    C#でお世話になっているサイト - aont’s diary