2011-04-21 74 views
3

我有第X页搜索用户数据。此页面可以搜索Active,Inactive和所有用户。当我向服务器发送活动条件时,我使用bool?(true =搜索活动用户,false =搜索非活动用户,null =搜索所有用户),但我公司中有一条规则,不允许在客户端和服务器之间发送Nullable值。如何定义三个状态布尔值,但不能为空?

我想知道这个问题是否有解决方案?

+0

对这些状态使用枚举 – V4Vendetta 2011-04-21 05:06:23

+0

3状态布尔值带来如此多的TheDailyWTF回忆。 :) – 2011-04-21 05:07:53

回答

12

而不是使用一个布尔的,我会用一个enum这样:

enum SearchOption { Active, Inactive, All } 
+0

另外一个枚举可以作为整数或字符串进行通信(解析回enum.Parse枚举。 – ZoolWay 2011-04-21 06:39:02

4

你可以使用一个enum

enum Status { Active, Inactive, All }; 

编辑:最近,链接是在那里的文档无论如何。 :)开心编程。

1

真的和他们所提到的一样,但是在你不熟悉枚举的情况下,有几个简单的例子。

enum seachType { activeUsers, inactiveUsers, allUsers } 

void doStuff() 
{ 
    // set the the value 
    seachType nextSearch = seachType.activeUsers; 
    // Conditional statement 
    if (nextSearch == seachType.allUsers) 
    { 
     doMoreStuff(); 
    } 
} 
相关问题