C Sharpと.Net学習ノート(一)
9257 ワード
C#と.Netはすべてゼロの基礎で、1~2週間先に何かを補う必要があります.特に2012.01を記録します.11
C#コンソールプログラム
入門用のhello worldプログラムは以下の通りです.
コンパイル
うんてん
問題はありますか?戻り値は何ですか? コマンドラインパラメータはどのように取得しますか? 入口はMainでなければなりませんか?複数のクラスがあれば、どうやって入り口の を見つけますか? ...
いりぐちてん
使用可能なエントリポイント(必要に応じてクラスの静的メンバー関数、MSDNのHello World in Visual C#にpublicでなければならないと記載されていますが、privateも問題ないようです): static void Main() static int Main() static void Main(string[] args) static int Main(string[] args)
次のようなプログラムなら、直接csc hello.csコンパイルですか?
どのように解決しますか?使用可能
または
エントリポイントを選択します.
1つのクラス内に複数のエントリポイント関数があると、仕方がないようです(fixme)
戻り値の戻り値はintのエントリポイントであり、returnを直接使用すれば である.
結果
システムを直接使用することができる.Environment.Exit
エントリポイント関数が値intを返すかどうかを考慮する必要はありません
コマンドラインパラメータ
何も言うことはないようですが、C++との違いは、パラメータの1つ目がプログラム名ではないことです.
結果:
Guiプログラム(Windows Forms)
Windowsを使用するには、次の手順に従います.
このようにコンパイルしますか?
はい、いいです.cmdウィンドウがポップアップしているだけです.指定が必要
一般的に、アプリケーション(プログラムの起動、停止、メッセージ処理などを制御するための)を使用する必要があります.
コンパイルコマンド
Guiプログラム(WPF)
これは最も簡単なWPFのプログラムではないでしょうか.
コンパイル(これらのreference,fixmeを指定する必要があるようです):
通常、アプリケーションが必要です(Windows.Formsとは同じではありません)
コンパイルコマンド
xamlがあれば、コマンドラインツールだけでは難しいようです.csprojのようなエンジニアリングファイルが必要で、msbuildまたはvisual studioを直接使用します.面倒くさい...(xamlはbamlリソースにコンパイルされ、最終的なdllまたはexeに埋め込まれる)
C#コンソールプログラム
入門用のhello worldプログラムは以下の通りです.
using System;
class CSharpTest
{
static void Main()
{
Console.WriteLine("Hello world not using Qt");
}
}
コンパイル
E:\Test1> csc hello.cs
うんてん
E:\Test1> hello
Hello world not using Qt
問題はありますか?
いりぐちてん
使用可能なエントリポイント(必要に応じてクラスの静的メンバー関数、MSDNのHello World in Visual C#にpublicでなければならないと記載されていますが、privateも問題ないようです):
次のようなプログラムなら、直接csc hello.csコンパイルですか?
using System;
class CSharpTest
{
static void Main()
{
Console.WriteLine("Hello world not using Qt");
}
}
class CSharpTest2
{
static void Main(string [] args)
{
Console.WriteLine("Hello world not using Qt too");
}
}
どのように解決しますか?使用可能
csc /main:CSharpTest hello.cs
または
csc /main:CSharpTest2 hello.cs
エントリポイントを選択します.
1つのクラス内に複数のエントリポイント関数があると、仕方がないようです(fixme)
戻り値
using System;
class CSharpTest
{
static int Main()
{
Console.WriteLine("Hello world not using Qt");
return 1;
}
}
結果
E:\Test1>hello
Hello world not using Qt
E:\Test1>echo %errorlevel%
1
システムを直接使用することができる.Environment.Exit
using System;
class CSharpTest
{
static void Main()
{
Console.WriteLine("Hello world not using Qt");
Environment.Exit(1);
}
}
エントリポイント関数が値intを返すかどうかを考慮する必要はありません
コマンドラインパラメータ
何も言うことはないようですが、C++との違いは、パラメータの1つ目がプログラム名ではないことです.
using System;
class CSharpTest
{
static void Main(string[] args)
{
foreach (string arg in args)
Console.WriteLine(arg);
}
}
結果:
E:\Test1>hello Qt5 Qt4 Qt3
Qt5
Qt4
Qt3
Guiプログラム(Windows Forms)
Windowsを使用するには、次の手順に従います.
using System.Windows.Forms;
class CSharpTest
{
static void Main()
{
MessageBox.Show("Hello World not using Qt");
}
}
このようにコンパイルしますか?
csc hello.cs
はい、いいです.cmdウィンドウがポップアップしているだけです.指定が必要
csc /arget:winexe hello.cs
一般的に、アプリケーション(プログラムの起動、停止、メッセージ処理などを制御するための)を使用する必要があります.
using System.Windows.Forms;
public class Form1 : Form
{
public static void Main()
{
Application.Run(new Form1());
}
public Form1()
{
this.DoubleClick += new System.EventHandler(form_Click);
}
private void form_Click(object sender, System.EventArgs e)
{
Application.Exit();
}
}
コンパイルコマンド
Guiプログラム(WPF)
これは最も簡単なWPFのプログラムではないでしょうか.
using System.Windows;
public class WpfTest1
{
public static void Main()
{
MessageBox.Show("WPF Applicaiton Test");
}
}
コンパイル(これらのreference,fixmeを指定する必要があるようです):
E:\Test1>csc /target:winexe /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationCore.dll" /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\PresentationFramework.dll" /reference:"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0\W
indowsBase.dll" hello.cs
通常、アプリケーションが必要です(Windows.Formsとは同じではありません)
using System.Windows;
public class WpfTest1
{
public static void Main()
{
Application app = new Application();
app.Run();
}
}
コンパイルコマンド
xamlがあれば、コマンドラインツールだけでは難しいようです.csprojのようなエンジニアリングファイルが必要で、msbuildまたはvisual studioを直接使用します.面倒くさい...(xamlはbamlリソースにコンパイルされ、最終的なdllまたはexeに埋め込まれる)