2010-08-17 75 views
1

这里的if声明意味着什么?如果声明很简单

Merchant merchant1 =new Merchant(); 

if(!merchant1.SaveMerchantDdetails(x, y, z)) 
{ 
    lblError.txt = "some error info"; 
} 
else 
{ 

} 
+6

难道这真的很难理解,如果在这里呢? – 2010-08-17 12:28:50

+1

你得开玩笑吧? – Darknight 2010-08-17 12:37:38

+2

@阿卡什:记住你开始学习Asp.Net的日子!第一天!你会知道我为什么问。 伙计们:我没有开玩笑。我认为如果声明只是比较int等等对象而不是它检查的这个部分。如果这确实是一个简单的问题,对不起! 谢谢大家帮助我。 – Ram 2010-08-17 14:33:02

回答

21

这意味着如果在merchant1实例上调用的SaveMerchantDdetails方法返回false,它会将错误值设置为错误标签。

+1

顶级答案,忽略其他所有内容,这确实就是“IF”所做的。 – 2010-08-17 12:25:26

5

MerchantDdetails failes保存操作的方法在这种情况下通过将错误文本显示错误返回false

1

好吧,我不知道到底SaveMerchantDetails()方法做什么,但它可能意味着,如果商户不保存XY,则z做牙套下面...

0

如果SaveMerchantDdetails的结果不是真的那么 lblError。 txt =“一些错误信息”;

0

如果调用SaveMerchantDetails方法返回false - 大概是因为细节无法正确保存出于某种原因 - 那么lblErrortxt属性设置为“一些错误信息”;否则执行else块中的任何代码。

0

方法SaveMerchantDetails被参数调用x,yz。它做了它所做的并返回一个布尔值来表示成功或失败。

通过测试!merchant1.SaveMerchantDetails(x, y, z)该代码正在测试false或错误状态。

0

if语句用于确定方法merchant1.SaveMerchantDdetails();的布尔值返回值是true还是false。

在这种情况下,如果方法返回false,则标签的文本属性将使用显示的字符串进行更新。如果该方法返回true,那么else块将被运行。

0

还有更多。这个简单的IF语句是说如果来自SaveMerchantDdetails的Merchant1是错误的,那么输出一个错误信息(显然是由另一个函数产生的)

4

如果你这样编写代码,它会更清晰地发生什么。有一个本地变量也更适合调试。

Merchant merchant1 =new Merchant(); 
    bool sucess = merchant1.SaveMerchantDdetails(x, y, z); 
    if(sucess == false) 
    { 
     lblError.txt = "some error info"; 
    } 

所以,你的代码执行的类型Merchant的对象的方法SaveMerchantDdetails。如果失败,一个标签(lbl会暗示该...)文本被设置为“一些错误信息”。

+7

这是不必要的冗长。 – Gus 2010-08-17 12:35:31

+0

这很清楚原始代码中发生了什么。布尔变量只是使事情变得混乱。 – 2010-08-17 12:48:17

0

如果在商人阶层看会有一个方法类似

public bool SaveMerchantDdetails(var x, var y, var z) 
{ 
    bool isSaved = false; 

    // Save Merchant Details and check if the save worked, store whether it did in isSave 

    return isSaved; 
} 

因此,代码:

if(!merchant1.SaveMerchantDdetails(x, y, z)) 

仅仅是检查是否从SaveMerchantDdetails方法返回的布尔是真实的或假。如果返回值为false,则显示错误。