2011-10-03 211 views
4

我正在参加Visual Basic 2010课程,我试图掌握这个称为标志的新术语。我有点理解它与布尔条件有关。我不太明白旗子是什么。我使用术语标志来看它的引用。我知道当布尔型,条件触发一个标志时它有事情要做。但是什么是国旗。你如何识别它?有人能给我一个例子。什么是布尔标志

+0

你在说Enum标志属性吗? – CharithJ

+1

参见:[http://en.wikipedia.org/wiki/Flag_(computing)](http://en.wikipedia.org/wiki/Flag_%28computing%29) –

回答

7

一般情况下,“旗”是一个真/假条件的另一种说法。

它可能在更具体的上下文中有更具体的含义。例如,CPU可能会保留“算术标志”,每个标志表示前一次算术操作导致的真/假条件。例如,如果前面的操作是“ADD”,那么标志将指示添加的结果是零,小于零还是大于零。

我相信这个术语来自标志,用来表示一个走/不走的情况,就像铁路的一个旗帜人员,指示火车是否安全继续行驶。

2

由于BOOL只有2个结果,无论是TRUE还是FALSE,您都可以听到这一点。如果满足条件,在决策过程中使用BOOL是一种简单的方法来“标记”某个结果。

一个例子可以是:

if ($x == TRUE) { 
// DO THIS 
{ 
else { 
//Flag not tripped, DO THIS 
} 
+0

-1:这是VB.NET,不是任何语言这是什么(PHP的?) –

+1

正确的PHP,我不嘲笑.NET只是试图给一个非常基本的例子都可以理解 – xXPhenom22Xx

+0

这可能是一个更吸引人的线程从MSDN网站使用VB.net和BOOLEAN .. 。希望这可以帮助 http://social.msdn.microsoft.com/Forums/en-CA/vblanguage/thread/73ba02b8-573a-4fce-a2b4-a5c3063c6cfd – xXPhenom22Xx

0

您可以使用bitwise operations。它可以用来将32个布尔值打包成一个整数。这里有一个例子:

Dim flags As Integer 
Const ADMINISTRATOR = 1 
Const USER = 2 
Const BLUE = 4 
Const RED = 8 

flags = ADMINISTRATOR or BLUE 

If flags and ADMINISTRATOR then 
    ' Do something since the person is an admin 
End If 

or■如果设置了标志添加标记和and支票。

现在我们可以检查多达32个这个变量的布尔值。非常适合存储在数据库中。您可以使用更大的数据类型,如long来存储更多。