以前學c#只知道它包含控制台程式和windows應用表單程式,大致知道windows應用表單程式可以產生。EXE檔案,認為控制台只是用來做某些測試用的東西。今天才發現原來控制台的應用並不比windows應用表單程式的應用少。只是以前不知道罷了,知道控制台程式可以做介面的應用讓我眼前為之一震,覺得這個東西比較好玩打消了以前淺顯的認識。雖然在做程式時在技術上遇到了很大的困難,但是技術上的問題可以解決,培養對c#的興趣才是最重要的。有了興趣才有學習的動力,技術方面可以慢慢的積累,就像做這個計算機的小程式,用控制台實現介面的應用,大的程式比如銀行的程式也是用控制台做的。現在對c#的認識還很少,以後要學會慢慢積累。在c#3.0增加的新特性
var和匿名型別:
(1)var:
在方法範圍中聲明的變數可以具有隱式類型var。隱式類型的本地變數時強制類型變數但由編譯器確定類型
var i=10; 在底層編譯時間會自動解釋成int i=10;類似於JavaScript中的var類型。
(2)匿名型別:
匿名型別用來將一組唯讀屬性封裝到單個對象中,而無需首先顯式定義一個類型,類型名由編譯器產生,不能在
原始碼級使用,屬性的類型由編譯器推斷。
var v=new {Amount=108,Message="Hello"};
v.Amount和v.Message可以直接調用。
下面是一個用c#控制台做的簡單的彈鋼琴的小程式:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace shengyin
{
class Program
{
static void Main(string[] args)
{
Console.BackgroundColor = ConsoleColor.Gray;
while(true)
{
ConsoleKeyInfo cki = Console.ReadKey(true);
int num = cki.KeyChar - 48;
Write(num);
// Console.WriteLine(cki.KeyChar);
}
}
static void Write(int yb)
{
switch (yb)
{
case 1:
Console.Beep(14*37, 200);
//Console.WriteLine(cki.KeyChar);
break;
case 2:
Console.Beep(16*37, 200);
Console.BackgroundColor = ConsoleColor.DarkRed;
//Console.WriteLine(cki.KeyChar);
break;
case 3:
Console.Beep(18*37,200);
Console.BackgroundColor = ConsoleColor.White;
// Console.WriteLine(cki.KeyChar);
break;
case 4:
Console.Beep(19*37, 200);
Console.BackgroundColor = ConsoleColor.Yellow;
//Console.WriteLine(cki.KeyChar);
break;
case 5:
Console.Beep(21*37, 200);
Console.BackgroundColor = ConsoleColor.DarkCyan;
//Console.WriteLine(cki.KeyChar);
break;
case 6:
Console.Beep(23*37, 200);
Console.BackgroundColor = ConsoleColor.DarkGreen;
//Console.WriteLine(cki.KeyChar);
break;
case 7:
Console.Beep(25*37, 200);
Console.BackgroundColor = ConsoleColor.DarkMagenta;
//Console.WriteLine(cki.KeyChar);
break;
case 8:
Console.Beep(28 * 37, 200);
Console.BackgroundColor = ConsoleColor.Blue;
//Console.WriteLine(cki.KeyChar);
break;
default:
break;
}
for (int i = 0; i < yb; i++)
{
Console.Write(" ");
}
///Console.WriteLine(yb);
}
}
}