一. C#简介

1. .NET Framework是Microsoft为开发应用程序而创建的一个具有革命意义的平台。


2. C#是Microsoft专门为使用.NET平台而创建的。它只是用于.NET开发的一种语言。


3. C#可以编写Windows应用程序,Web应用程序,Web服务。


4. Visual Studio 2010(VS)或Visual C# 2010 Express(VCE)是C#编程的开发工具。


5. 控制台应用程序

在VS中,File文件→ New新建→Project 项目......

Visual C#→ Console Application

在Location一栏中改为C:\BegVCSharp\Chapter02,其它不变,“OK”


在主窗口显示的文件里添加如下代码行

namespace ConsoleApplication1 

    class Program 
    { 
        static void Main(string[] args) 
        { 
            // Output text to the screen. 
            Console.WriteLine("The first app in Beginning C# Programming!"); 
            Console.ReadKey(); 
        } 
    } 
}


Debug调试→ Start Debugging启动调试(F5),应该会看到下图


按任意键,退出应用程序


也可以Debug调试→ Start Without Debugging开始执行不调试(Ctrl+F5),以非调试模式运行代码。

(可以去保存的fold里找到bin里的debug,双击.exe的文件,这是最终的可执行文件)

(release和debug的区别,release是用户版本,debug是测试版本,上面的问题中,可能是由于release和debug的区别所致)


Build生成→ Build Solution生成解决方案(F6),编译项目但不运行(打开或关闭调试功能)。

(F6是在fold里生成一个文件,但是没有执行。F5是F6加上了可见的执行功能)


编译好之后,在Windows Explorer中运行生成的.exe文件,就可以执行代码。

也可以在命令提示窗口中执行,为此,应打开一个窗口,把目命令提示录改为C:\BegVCSharp\Chapter02\ConsoleApplication1\ConsoleApplication1\bin\Debug\,键入ConsoleApplication1,并按下回车。


Console.ReadKey(); 是告诉代码在结束前等待按键


Solution Explorer解决方案资源管理器

(所有C#文件都使用.cs文件扩展名)

使用solution cxplorer可以改变主窗口中显示的代码:双击.cs文件,或者右击选择“view code查看代码”。

可以重命名,删除等等。


Properties Window属性窗口,在View(视图)菜单里。

Properties Window中对项目的改变会直接影响代码,添加代码行或改变文件中的内容。

对一些项目来说,通过这个窗口来操作与手动修改代码所花的时间是相同的。


Error List错误列表窗口,在View(视图)菜单里。

双击窗口中的错误,光标会跳转到源代码中出现错误的地方。


Tools工具→Options选项,Text Editor文本编辑器→ C#→ General常规,“Line numbers行号” ,

这样就可以在VS文本编辑器中显示行号了。


6. Windows Forms应用程序

在VS中,File文件→ New新建→Project 项目......

Visual C#→ Windows Forms Application窗体应用程序

在Location一栏中改为C:\BegVCSharp\Chapter02,其它不变,“OK”

如果有其它项目打开着,则选择“Creat New Solution创建新解决方案”



Toolbox工具箱→ All Windows Forms所有Windows窗体→ 双击Button,

就会在添加一个按钮。


双击刚才添加到窗体的按钮,显示代码,进行修改

private void button1_Click(object sender, EventArgs e) 

    MessageBox.Show("The first Windows app in the book!"); 
}


运行应用程序


单击显示的按钮,打开一个消息对话框,如下图



单击“确定”,单击右上角×,则会退出程序。


单击刚才的按钮,右下角Properties属性窗口的Text栏里,显示为“button 1”,可以更改为“click me”。

Properties中还可以改变按钮的颜色、大小,甚至数据绑定等。

要查看这些更改的代码,Form1.cs中不会显示,要去Solution Explorer窗口中的Form1.cs中的Form1.Designer.cs节点,

双击,就可以看到其中更改的代码。


7. 使用VS

第一次运行VS,选择“Visual C# 开发设置”。


如果选错了,可以单击工具菜单上的“导入和导出设置”,再选“重置所有设置”。可以选择“保存已有设置”或“否,仅重置设置”,然后再选择“Visual C# 开发设置”。



(*VS布局界面)


VS常用功能介绍:

Toolbox工具箱,在View(视图)菜单里。


Server Explorer服务资源管理器,在View(视图)菜单里。访问数据源、服务器设置和服务等。


Solution Explorer解决方案资源管理器,在View(视图)菜单里。显示当前加载的解决方案的信息。例如,项目中包含了什么文件,这些文件中又包含了什么内容。


Properties Window属性窗口,只有在处理项目时才出现,在View(视图)菜单里。使用这个窗口,可以改变windows窗体中按钮的外观。


Error List错误列表,在View(视图)菜单里。显示错误、警告等信息。


VS的一些小tips

整体代码重新整理版面  ctrl+kd

整体代码加//注释  ctrl+kc


8. 使用VCE


9. C#基本语法

不考虑空格、回车、tab等空白字符


每个语句用分号结束,一个语句放在多个行上是可以的


花括号不需要带分号


前面代码行的续行通常也要缩进得多一些,比如下面例子的第三行


    <code line 1, statement 1>; 
    <code line 2, statement 2> 
        <code line 3, statement 2>; 
}


注释不是严格意义上的C#代码。

/* This is a comment */ 
/* And so... 
                   ... is this! */

注释中不可以输入*/  ,因为会引起歧义


第二种注释方法是双斜杠,后面写注释,但是必须在一行上

这类注释可用于语句的说明,因为它们都放在一行上

<A statement>;            // Explanation of statement


C#代码区分大小写


代码突出显示功能

#region 和 #endregion 来定义可以展开和折叠的代码区域的开头和结尾


以#开头的任意关键字实际上都是一个预处理指令,严格地说并不是C#关键字。


10. 变量

数据可放在变量中,可以从变量中取出数据或查看它们


声明变量的C#语法是指定类型和变量名,例如

<type> <name>; 


大多数简单类型都是存储数值的


许多不同的整数类型可以用于存储不同范围的数值,占用不同的内存空间(至多64位)


一些变量名称前面的“u”是unsigned的缩写,表示不能在这些类型的变量中存储负数


可以使用的浮点数变量类型有3种,float、double和decimal



除了数值类型外,另外还有3种简单类型


注意组成string的字符数没有上限,因为它可以使用可变大小的内存


声明变量,赋值,输出

{

    int myInteger;  //声明一个类型为int的变量myInterger
    string myString;   //声明一个类型为string的变量myString
    myInteger = 17; 
    myString = "\"myInteger\" is";   //把myInterger和引号赋给myString,其中 \ 是转义序列,用来转义双引号
    Console.WriteLine("{0} {1}.", myString, myInteger);   //{0} {1}是字符串,起占位的作用,后面就要跟两个变量
    Console.ReadKey(); 

}


\n 是换行的转义序列


变量的命名规则

变量名的第一个字符必须是字母、下划线或@

其后的字符可以是字母、下划线或数字

using和namespace这些关键字是有特定含义的,所以小心使用


最好根据变量的作用来命名它们

PascalCase和camelCase是两种命名约定

在名称中使用的大小写表示它们的用途。它们都应用到由多个单词组成的名称中,并指定名称中的每个单词除了第一个字母大写外,其余字母都是小写。在camelCase规则中,还有一个规则,即第一个单词以小写字母开头。

Microsoft建议:对于简单的变量,使用camelCase 规则,而对于比较高级的命名则使用PascalCase。、


转义序列的完整列表



逐字地指定字符串,即两个双引号之间的所有字符都包含在字符串中

唯一例外是双引号字符的转义,它们必须指定,以免结束字符串。为此,可以在该字符串之前加一个@字符

@"A short list: 
item 1 
item 2"


"C:\\Temp\\MyDir\\MyFile.doc" 可以改写为 @"C:\Temp\MyDir\MyFile.doc"


字符串是引用类型,而本章中的其他类型都是值类型。所以,字符串也可以被赋予null值,即字符串变量不引用字符串


使用变量的类型和名称来声明

int age;

同时声明多个类型相同的变量

int xSize, ySize;

然后用=赋值运算符给变量赋值

age=25;


在声明变量的同时为它赋值,把两行代码合并在一起

int age = 25; 

int xSize = 4, ySize = 5;


注意下面情况

int xSize, ySize = 5;

ySize被初始化,而xSize仅进行了声明,在使用前仍需要初始化


11. 表达式

运算符大致分为如下3类

一元运算符,处理一个操作数

二元运算符,处理两个操作数

三元运算符,处理三个操作数


大多数运算符都是二元运算符,只有几个一元运算符和一个三元运算符


数学运算符



二元运算符+在用于字符串类型变量时也是有意义的,但其他数学运算符不能用于处理字符串



递增和递减运算符,它们都是一元运算符,可以以两种方式加以使用:放在操作数的前面或后面


var1中存储的结果有区别,其原因是运算符的位置决定了它什么时候发挥作用


例如

int var1, var2 = 5, var3 = 6; 
var1 = var2++ * --var3; 

var1的结果是25


static void Main(string[] args) 

double firstNumber, secondNumber; 
string userName; 
Console.WriteLine("Enter your name:");   // 屏幕显示出用户输入的信息,Console.WriteLine()
userName = Console.ReadLine();    // 获得用户输入的信息储存在string变量中,Console.ReadLine() 
Console.WriteLine("Welcome {0}!", userName); 
Console.WriteLine("Now give me a number:"); 
firstNumber = Convert.ToDouble(Console.ReadLine());  //得到的字符串转换为double类型,Convert.ToDouble
Console.WriteLine("Now give me another number:"); 
secondNumber = Convert.ToDouble(Console.ReadLine()); 
Console.WriteLine("The sum of {0} and {1} is {2}.", firstNumber, 
secondNumber, firstNumber + secondNumber); 
Console.WriteLine("The result of subtracting {0} from {1} is {2}.", 
secondNumber, firstNumber, firstNumber - secondNumber); 
Console.WriteLine("The product of {0} and {1} is {2}.", firstNumber, 
secondNumber, firstNumber * secondNumber); 
Console.WriteLine("The result of dividing {0} by {1} is {2}.", 
firstNumber, secondNumber, firstNumber / secondNumber); 
Console.WriteLine("The remainder after dividing {0} by {1} is {2}.", 
firstNumber, secondNumber, firstNumber % secondNumber); 
Console.ReadKey();
}


从string转化成int的命令是Convert.ToInt32()


赋值运算符


+=运算符也可以用于字符串,与+运算符一样

(只有+=适用于字符串的情况)


运算符的优先级



名称空间

.NET应用程序中定义的所有名称,包括变量名,都包含在名称空间中。名称空间采用层次结构,我们通常需要根据包含名称的名称空间来限定名称,以便访问它们

可以使用namespace关键字为花括号中的代码块显式定义名称空间

如果在该名称空间代码的外部使用名称空间中的名称,就必须写出该名称空间中的限定名称。







  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值