标题:委托、枚举、位操作---你真的全部懂了吗?
只看楼主
lmn20100929
Rank: 2
等 级:论坛游民
帖 子:9
专家分:15
注 册:2011-3-25
结帖率:100%
 问题点数:0 回复次数:4 
委托、枚举、位操作---你真的全部懂了吗?
高手请回避,以下的东西是我最近复习C#基础时写的笔记,借这里的代码功能再贴到自己的QQ空间。
程序代码:
[color=#0000FF]using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace 类
{
   
    class Program
    {
        static void Main(string[] args)
        {
            //常见委托声明,买1包烟
            buysmoke bsmoke1;
            bsmoke1 = buysmoke_call;
            bsmoke1(smokename.软白沙, 5);
            //快速委托声明,买2包烟
            buysmoke bsmoke2 = delegate(smokename name, double price)
            {
                Console.WriteLine("委托你帮我去买烟:\n-------------\n名称:{0}\n价格:{1}\n", name, price);
            };
            bsmoke2(smokename.硬白沙 | smokename.精白沙1代, 5.5 + 8);
            //另类委托声明:NET3.0以上,买3包烟
            buysmoke bsmoke3 = (name, price) =>
            {
                Console.WriteLine("委托你帮我去买烟:\n-------------\n名称:{0}\n价格:{1}\n", name, price);
            };
            smokename sn = smokename.精白沙2代 | smokename.黄盒芙蓉王 | smokename.蓝盒芙蓉王;
            bsmoke3(sn, 9.5 + 25 + 35);
            //来个枚举的异或位操作,把精白沙2代去掉
            sn = sn ^ smokename.精白沙2代;
            bsmoke3(sn, 25 + 35);
            //来个枚举的或位操作,把精白沙2代再加上
            sn = sn | smokename.精白沙2代;
            bsmoke3(sn, 9.5 + 25 + 35);
            //来个枚举的与位操作,把除精白沙2代之外的所有烟去掉
            sn = sn & smokename.精白沙2代;
            bsmoke3(sn, 9.5);
            Console.Read();
        }
        static void buysmoke_call(smokename name, double price)
        {
            Console.WriteLine("委托你帮我去买烟:\n-------------\n名称:{0}\n价格:{1}\n", name, price);
        }
    }

    delegate void buysmoke(smokename name, double price);

    [Flags]
    enum smokename
    {
        硬白沙 = 0x01, 软白沙=0x02, 精白沙1代=0x04, 精白沙2代=0x08, 黄盒芙蓉王=0x10, 蓝盒芙蓉王=0x20
        //分别对应二进制0001,0010,0100,1000,10000,100000
        //如果同时选择硬白沙和软白沙则枚举的值为:0011
        //位操作符 |,&,^ 用于枚举的添加,排除,删除
    }
}


[/color]

[ 本帖最后由 lmn20100929 于 2011-4-14 09:31 编辑 ]
2011-04-14 09:29
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:0 
烟鬼!

   唯实惟新 至诚致志
2011-04-15 00:45
zhp223
Rank: 5Rank: 5
等 级:职业侠客
帖 子:99
专家分:362
注 册:2010-3-21
得分:0 
以下是引用qq1023569223在2011-4-15 00:45:03的发言:

烟鬼!


日有所思,夜有所梦
2011-04-17 19:30
jalonlovesja
Rank: 5Rank: 5
来 自:湖南邵阳
等 级:职业侠客
帖 子:292
专家分:371
注 册:2008-2-19
得分:0 
一看楼主应该就是个湖南人了

小弟,身高1.60米,农村户口,小学文化,家有农田1亩.
2011-04-18 08:26
yangdehui
Rank: 1
来 自:湘、江永
等 级:新手上路
帖 子:17
专家分:7
注 册:2011-4-14
得分:0 
抽白沙的不一定是湖南人
2011-04-18 11:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-336605-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055026 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved