for (int x = 0; x < aaa.Length; x++)
{
 if (aaa[x].text1 == "aaa" && aaa[x].text2 == "bbb")
{
}
else
{
m++;
Console.WriteLine(m);
}
}以上代码正是我需要的结果,把它改写为以下代码,怎么不行,哪里错了?
for (int x = 0; x < aaa.Length; x++)
{
 if (aaa[x].text1 != "aaa" && aaa[x].text2 != "bbb")
{
m++;
Console.WriteLine(m);
}
}

解决方案 »

  1.   

    http://msdn.microsoft.com/zh-cn/library/5011f09h.aspx
      

  2.   

    //你得重新去看一下&&if(true&&true)//两个条件全都满足返回true
    {
    Console.WriteLine("xxx"); //true
    }if(false&&true)//false
    if(true&&false)//false
    if(false&&false)//false
      

  3.   

    aaa[x].text1和aaa[x].text2
    一共有四种组合:
    1:aaa[x].text1 = “aaa"-----aaa[x].text2 = "bbb"
    2:aaa[x].text1 = “aaa"-----aaa[x].text2 != "bbb"
    3:aaa[x].text1 != “aaa"-----aaa[x].text2 = "bbb"
    4:aaa[x].text1 != “aaa"-----aaa[x].text2 != "bbb"第一种代码中的if条件满足了组合中的1,else条件满足组合中的2,3,4
    第二种代码中的if条件满足了组合中的4,else条件满足组合中的1,2,3
      

  4.   

    if (aaa[x].text1 != "aaa" || aaa[x].text2 != "bbb") 

    m++; 
    Console.WriteLine(m); 
    你試下
      

  5.   

    for (int x = 0; x < aaa.Length; x++)
    {
    if (aaa[x].text1 != "aaa" || aaa[x].text2 != "bbb")
    {
    m++;
    Console.WriteLine(m);
    }
    }
      

  6.   

    (条件1 && 条件2)的反面就是(!条件1 || !条件2)
      

  7.   

    aaa[x].text1 == "aaa" && aaa[x].text2 == "bbb"1. 干脆就在前面加个!    if (!(aaa[x].text1 == "aaa" && aaa[x].text2 == "bbb"))
    2. 对每一个判断符都进行!   ==  -> !=   && -> ||    if (aaa[x].text1 != "aaa" || aaa[x].text2 != "bbb")
    3. 最好是思考   aaa[x].text1 == "aaa" && aaa[x].text2 == "bbb" 就是 必须 text1等于"aaa",text2等于"bbb"  相反就是:只要有一个不等,所以就是  aaa[x].text1 != "aaa"  或者 aaa[x].text2 != "bbb")