枚举格式在.net中的应用

       枚举变量,就是指用 Enum 类型定义的变量。变量和参数都可以定义为 Enum 类型。Enum 类型中的元素被初始化为 Enum 语句中指定的常数值。Enum 语句只能在模块级别中出现。定义 Enum 类型后,就可以用它来定义变量,参数或返回该类型的过程。不能用模块名来限定 Enum 类型类模块中的 Public Enum 类型并不是该类的成员;只不过它们也被写入到类型库中。在标准模块中定义的 Enum 类型则不写到类型库中。具有相同名字的 Public Enum 类型不能既在标准模块中定义,又在类模块中定义,因为它们共享相同的命名空间。若不同的类型库中有两个 Enum 类型的名字相同,但成员不同,则对这种类型的变量的引用,将取决于哪一个类型库具有更高的引用优先级。

为了形象说明,举个例子来说明一下枚举的应用,在duwamish中恰有一个,在搜索页面传值过程中,

String searchText = SearchTextBox.Text.Trim();
 

            int index = SearchDropDownList.SelectedIndex;
            Response.Redirect((new StringBuilder(PageBase.UrlBase))
                            .Append("/searchresults.aspx?type=")
                            .Append(index)
                            .Append("&fullType=")
                            .Append(Server.HtmlEncode(SearchDropDownList.Items[index].Text))
                            .Append("&text=")
                            .Append(Server.UrlEncode(searchText)).ToString(), false);

其中在类PageBase下面的定义的UrlBase

public static String UrlBase
 {
  get
  {
   return @"http://" + UrlSuffix;
  }
 }

private static string UrlSuffix
 {
  get
  {
   return HttpContext.Current.Request.Url.Host + HttpContext.Current.Request.ApplicationPath;
  }
 }

在BookData定义的枚举为

        public enum SearchTypeEnum
        {
            /// <summary>
            ///     Title search.
            /// </summary>
            Title = 0,
            /// <summary>
            ///     ISBN search.
            /// </summary>
            ISBN = 1,
            /// <summary>
            ///     Author search.
            /// </summary>
            Author = 2,
            /// <summary>
            ///     Subject search.
            /// </summary>
            Subject = 3,
            /// <summary>
            ///     Id search.
            /// </summary>
            ID = 4,
            /// <summary>
            ///     Id list search.
            /// </summary>
            IdList = 5
        }

在type传值时,在搜索结果页面中,调用了枚举

 Duwamish7.Common.Data.BookData.SearchTypeEnum searchEnumType;

searchEnumType = (Duwamish7.Common.Data.BookData.SearchTypeEnum)Int32.Parse(Request.QueryString["type"]);

这样如果在查询标题时,Tite在传值的时候对应的是0,这样searchEnumType在这取的值就为Title 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值