ASP.NET Web 应用开发实战快速上手系列 2——C#基础

      这里介绍C#,最高到3.0这个版本,不涉及4.0的内容,C#4.0的新特性可以参阅:.NET Framework 4 中的新 C# 功能。有C#基础者本文没必要看了。

      所有的C#代码都存储在扩展名为.cs的文件中,一般情况下,一个cs文件保存的就是一个C#类(class)或接口(interface)或结构(struct),这三个是什么,可以先不理会。

      一、用Visual Studio创建项目

      我们创建一个控制台应用程序(Console Application),控制台应用程序一般用于学习C#语言 ,具体步骤(中英文对照):【运行Visual Studio】——点击菜单栏的【文件】(File)-——【新建】(New)——【项目】(Project),出现下图界面:

     

     按上图选择开发语言(C#)下的模板类型Windows中的Console Application。

     1——项目名称

     2——存储目录,可点击输入框后面的【浏览】(Browse)选择

     3——解决方案名称

     4——创建解决方案目录

     5——添加到源代码管理,只有在安装了和VS继承的源代码管理工具后,此项才能选择

     点击【确定】 (OK)创建项目:

     

     项目与解决方案的关系:一个解决方案可以包含多个项目,编译解决方案会编译全部项目,要运行解决方案必须设定启动项目(Set as Startup Project,在项目的右键菜单中可以看到),接下来添加第二个项目:

   右击解决方案名称,在右键菜单中选择【添加】(Add) ——【新建项目】(New Project),

     

      在弹出的窗口中的(项目)名称输入框中输入:MySecondApp,点击【确定】创建第二个项目,解决方案资源管理器(Solution Explorer) 中将出现刚添加的这个项目:

     

    二、C#文件结构

     Program.cs就是一个C#类文件,如果你使用的是VB,扩展名将会是.vb。

     

       第一部分:添加对命名空间的引用,当创建文件时,开发环境会默认(可以修改)添加一些

       第二部分:当前类所在的命名空间,如果在命名空间外访问此类,则必须添加对命名空间MyFirstApp的引用(参考第一部分)或者用完整的访问方式MyFirstApp.Program。

       第三部分:类(先不要管什么是类)

      

  三、C#语言规范

      初学者写代码的时候要注意,当不考虑嵌套类型时,所有代码,除了以下代码(命名空间引用、指定命名空间、定义类、定义接口、定义结构、定义枚举、定义委托),都应该写在类、结构、接口、枚举的内部,内部代码也有讲究,后面再说。

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

namespace MyFirstApp
{
    
//创建名为Animal的类
    class Animal
    {
        
//代码写在这里
    }
    
//创建名为IActivity的接口
    interface IActivity
    {
        
//代码写在这里
    }
    
//创建名为CurrentPosition的结构
    struct CurrentPosition
    {
        
//代码写在这里
    }
    
//创建名为WeekDay的枚举
    enum WeekDay
    {
        
//代码写在这里 
    }
    
///创建名为Del的委托
    delegate void MyEventHandler();
}


      C#中的一个语句:从行的第一个单词(或上一个分号结束位置)开始直到遇到分号(“;”,英文半角),如

int daysOfWeek = 7

      也就是说C#是分号断句,下面的代码虽然在一行上,但表示两个语句,这种写法要尽量避免:

int daysOfWeek = 7;int weekend = 2;

      C#中的注释

 

using System;

namespace MyFirstApp
{
    
/// <summary>
    
/// 类Program
    
/// 包含应用程序的主入口函数Main
    
/// 用于类、结构、接口、枚举、方法
    
/// </summary>
    class Program
    {
        
/*
         * 多行注释
         * 控制台应用程序的主入口函数
         * args:string类型的数组
         
*/
        
static void Main(string[] args)
        {
            
//单行注释,定义整型变量
            int daysOfWeek = 7;
        }
        
/// <summary>
        
/// 方法说明
        
/// </summary>
        
/// <param name="s">参数说明</param>
        static void WriteLineString(string s)
        {
            
/*
            多行注释
            Console.WriteLine(s);
            Console.ReadLine();
             
*/
        }
    }
}


      C#种对象命名规范:

           1)不能使用关键字(IDE中默认为蓝色);

           2)可以用字母、数字、下划线组合,但只能以字母或下划线开始 ;名称可以由多个单词或单词的缩写组合;可以定义纯中文对象名,但不提倡;

           3)除变量、常量外,其它命名名称的每个单词的第一个字母应该大写;变量则从第二个单词开始第一个字母大写,常量则全部大写;

           可以参照一些类库中对象的元数据(metadata),如下图,双击类名File,在右键菜单中选择【转到定义】(Go To Definition):

            

          四、C#数据类型

           C#数据类型 分为:值类型和引用类型;也可以分为内置数据类型和用户定义数据类型。

C#类型

.NET Framework
类型

范围

说明

默认值

bool

System.Boolean

 

布尔值,true或false

false

byte

System.Byte

0 到 255

8 位的无符号整数

0

sbyte

System.SByte

-128 到 127

8 位的有符号整数

0

char

System.Char

U+0000 到 U+ffff

16 位 Unicode 字符

‘\0’

decimal

System.Decimal

±1.0 × 10-28 到 ±7.9 × 1028

28 到 29 位有效位

0.0M

double

System.Double

±5.0 × 10-324 到 ±1.7 × 10308

15 到 16 位精度

0.0D

float

System.Single

±1.5 × 10-45 到 ±3.4 × 1038

7 位

0.0F

int

System.Int32

-2,147,483,648 到 2,147,483,647

有符号 32 位整数

0

uint

System.UInt32

0 到 4,294,967,295

无符号 32 位整数

0

long

System.Int64

-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

有符号 64 位整数

0L

ulong

System.UInt64

0 到 18,446,744,073,709,551,615

无符号 64 位整数

0

object

System.Object

 

对象层次结构的根

-

short

System.Int16

-32,768 到 32,767

有符号 16 位整数

0

ushort

System.UInt16

0 到 65,535

无符号 16 位整数

0

string

System.String

 

Unicode 字符的不变的定长串

-

可空类型

 

特定类型值范围+null值

可空类型是 System.Nullable 结构的实例

 

           关注一下:可空类型和隐式类型局部变量。

          五、C#运算符

算术运算符

运算符

说明

表达式

+

执行加法运算(如果两个操作数是字符串,则该运算符用作字符串连接运算符,将一个字符串添加到另一个字符串的末尾)

操作数1 + 操作数2

-

执行减法运算

操作数1 - 操作数2

*

执行乘法运算

操作数1 * 操作数2

/

执行除法运算

操作数1 / 操作数2

%

获得进行除法运算后的余数

操作数1 % 操作数2

++

将操作数加 1

操作数++ 或++操作数

--

将操作数减 1

操作数-- 或--操作数

~

将一个数按位取反

~操作数


赋值运算符

运算符

计算方法

表达式

求值

结果(X = 10

=

给变量赋值

变量=值
常量=值



+=

运算结果 = 操作数1 + 操作数2

X += 5

X = X + 5

15

-=

运算结果 = 操作数1 - 操作数2

X -= 5

X = X - 5

5

*=

运算结果 = 操作数1 * 操作数2

X *= 5

X = X * 5

50

/=

运算结果 = 操作数1 / 操作数2

X /= 5

X = X / 5

2

%=

运算结果 = 操作数1 % 操作数2

X %= 5

X = X % 5

0


比较运算符

运算符

说明

表达式

检查一个数是否大于另一个数

操作数1 > 操作数2

检查一个数是否小于另一个数

操作数1 < 操作数2

>=

检查一个数是否大于或等于另一个数

操作数1 >= 操作数2

<=

检查一个数是否小于或等于另一个数

操作数1 <= 操作数2

==

检查两个值是否相等

操作数1 == 操作数2

!=

检查两个值是否不相等

操作数1 != 操作数2


类别

运算符

说明

表达式

三元运算符

? :

检查给出的第一个表达式 expression 是否为真。如果为真,则计算 operand1,否则计算 operand2。这是唯一带有三个操作数的运算符

表达式?
操作数1:
操作数2


类别

运算符

说明

表达式

成员访问运算符

.

用于访问数据结构的成员

数据结构.成员

赋值运算符

=

给变量赋值

操作数1 = 操作数2

逻辑运算符

&&

对两个表达式执行逻辑“与”运算

操作数1 && 操作数2

||

对两个表达式执行逻辑“或”运算

操作数1 || 操作数2

!

对两个表达式执行逻辑“非”运算

! 操作数

( )

将操作数强制转换为给定的数据类型

(数据类型) 操作数

          六、变量

           变量用于存储特定类型的值,关于数据类型,参阅上面第四部分,如:

//字符串变量
string userName;
//时间和日期变量
DateTime birth;
//整型变量
int age;
//布尔型变量
bool isChinese;
//单精度浮点型变量
float salary;
//others

        了解一下隐式类型局部变量

        七、常量

           建议常量名全部大写。常量一旦赋值后,其值不能被改变。

const float PI = 3.14f;

         八、选择结构和循环结构

        1)选择结构

  if (<条件>)
  {
  
<语句块>
  }
  
else 
  {
  
<语句块>
  }

      还可以有else if(条件){}一个或多个。

switch (选择变量)
{
    
case 值1: 
       …
       
break;    
    
    
case 值2: 
    …
       
break;
    ...
    ...
    
default : 
    …
}

        各个 case 标签不必连续,也不必按特定顺序排列
        default 标签可位于 switch…case 结构中的任意位置
        default 标签不是必选的,但使用 default 标签是一个良好的编程习惯
        每两个 case 标签之间的语句数不限 

        2)循环结构

while(条件)
{
     
//循环内语句
}


do
{
     
//循环内语句
while(条件)


for(初始值;条件;增减)
{
     
//循环内语句


foreach (元素 in 集合)
{
      
//语句
}

       break 语句可用于退出循环
       continue 语句可用于跳过当前循环并开始下一循环
      

        九、数组

         参阅MSDN:数组。 了解交错数组。

 

 

 

 

 

posted on 2010-09-28 23:47  Ferry  阅读(2676)  评论(2编辑  收藏  举报

导航