枚举格式在.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 

阅读更多
文章标签: .net string list
个人分类: asp.net开发收集
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭