基礎もやろう

流石に文法を知らないというのも何なので少しくらいは基礎的な文法をやっときましょう。

まあJavaやってても思いましたがこういう基礎的な所とサーバー立ててWebページ表示するよって所とはあまりリンクしないんですけどね。

しかし中身作るよってなるとまた使い始めるから覚えないとダメです。


こちらにお世話になりに行きます。

そしてVisualStudio起動。

f:id:yamadakeita:20160713152610p:plain

f:id:yamadakeita:20160713152649p:plain

テンプレート多くて便利ですね。


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

f:id:yamadakeita:20160713184844p:plain

いつもの。

ところでusingとnamespaceって何だろう。

これはどちらも「名前空間」を指定していて、namespaceで定義、usingで指定するみたいです。

では「名前空間」って何だろう。

プログラムを作成する場合でも、プログラムの規模が大きくなってきて、クラスの数が多くなってくると、 クラスを関連性のあるもの同士まとめて管理するような仕組みが必要になってきます。 そのような、クラスを階層的に分類するための機構が名前空間です。

とのことです。

Javaで言うと

using : import
namespace : package

ですね。

最初のusing System;を書かない場合

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine("Hello World!");
        }
    }
}

こうなるみたいです。

Consoleクラスは名前空間「System」内にあるので、本来はSystemから書かないといけないのですが、それを省略してくれるのがusing Systemってことですね。


次にGUIサンプル、なんですが

f:id:yamadakeita:20160713164746p:plain

あれ?

f:id:yamadakeita:20160713170043p:plain

VBを使った経験からするとこういうのは大体参照では…と思いましたが

f:id:yamadakeita:20160713170513p:plain

ない…

というか何でSystem.Windows.Controlsはなくてその下のSystem.Windows.Controls.Ribbonはあるんだ?

.Netのバージョン違いかなとも思いましたが

f:id:yamadakeita:20160713171819p:plain

f:id:yamadakeita:20160713171841p:plain

どっちも4系なのでないことはないような

更にクラス単位で調べるとこんな記述が

f:id:yamadakeita:20160713173154p:plain

dll内?dllって参照するためのファイルだった気がするから参照に追加しろってこと?

f:id:yamadakeita:20160713173433p:plain

f:id:yamadakeita:20160713173457p:plain

おお、エラーが消えた、しかしまだある…

f:id:yamadakeita:20160713173645p:plain

f:id:yamadakeita:20160713173549p:plain

これも参照かな?

f:id:yamadakeita:20160713173749p:plain

f:id:yamadakeita:20160713173811p:plain

f:id:yamadakeita:20160713173825p:plain

f:id:yamadakeita:20160713174227p:plain

出来た!

でも何でSystem.Windows.Controlsはなくて(略

それとPresentationFrameworkの参照をすることでSystem.Windows.Controls名前空間のエラーが消えるのは何故なんでしょう。

System.Windows.Controls 名前空間のページに書いてくれるとありがたいんですけどね。





エラー解決は疲れます_(:3」∠)_