《C#高级教程》学习笔记2

2.6枚举
public enum TimeOfDay{
    Morning=0;
    Afternoon=1;
    Evening=2;
}
例子:
using System;
public enum TimeOfDay{
    Morning=0,
    Afternoon=1,
    Evening=2
}
class EnumExample{
    public static int Main(){
        WriteGreeting(TimeOfDay.Morning);
        return 0;
    }
    static void WriteGreeting(TimeOfDay timeOfDay){
        switch(timeOfDay){
            case TimeOfDay.Morning:
                Console.WriteLine("Good morning!");
                break;
            case TimeOfDay.Afternoon:
                Console.WriteLine("Good Afternoon!");
                break;
            case TimeOfDay.Evening:
                Console.WriteLine("Good Evening!");
                break;
            default:
                break;
        }
    }
}
获取枚举的字符串表示:
TimeOfDay time=TimeOfDay.Afternoon;
Console.WriteLine(time.ToString());
从字符串中获取枚举值:
TimeOfDay time2=(TimeOfDay)Enum.Parse(typeof(TimeOfDay),"afternoon",true);
Console.WriteLine((int)time2);
注:Enum.Parse函数有三个参数,一是枚举类型,二是字符串,三是是否忽略大小写。typeof后面再讨论

2.7名称空间
名称空间是一种逻辑组合
名称空间中可嵌套其他名称空间,为类型创建层次结构
常用名称空间结构:
公司名.项目名.部分名

2.7.1 using语句
减少输入过长的名称空间,简单略

2.7.2名称空间的别名
using System;
using Introduction=Wrox.ProCSharp.Basics;
class Text{
    public static int Main(){
        Introduction::NamespaceExample NSEx=new Introduction::NamespaceExample();
        Console.WriteLine(NSEx.GetNamespace());
        return 0;
    }
}
namespace Wrox.ProCSharp.Basics{
    class NamespaceExample{
        public string GetNamespace(){
            return this.GetType().Namespace;
        }
    }
}
注:::是名称空间的修饰符
GetType是每个类都有的方法。

2.8 Main方法
2.8.1 多个Main方法
多个编译器会返回错误,但在命令行中用/Main可选择入口
 
 2.8.2 给Main()传递参数
 public static int Main(string[] args) 在控制台时输入参数,与JAVA类似略

 2.9有关编译C#文件的更多内容
 /t:exe 控制台应用程序(默认)
 /t:library 带有清单的类库
 /t:module 没有清单的组件
 /t:winexe Windows应用程序
 一个文件A.cs:
namespace Wrox{
    public class MathLib{
        public int Add(int x,int y){
            return x+y;
        }
    }
}
csc /t:library A.cs
另一文件B.cs:
using System;
namespace Wrox{
    class Client{
        public static void Main(){
            MathLib mathObj=new MathLib();
            Console.WriteLine(mathObj.Add(7,8));
        }
    }
}
csc  B.cs /r:A.dll

(今天除晚上外全满课,因此学习少了,有空补上,虽然明天也和今天一样多课,周末多努力吧)
(进度:52页,还有1517-52=1465页,2014.12.3)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值