none
.net 问题 RRS feed

答案

  • 你好!
         如果你想判断两个TreeNode变量是否引用了同一实例的时候,可以这样:
         if(treeNode1==treeNode2)
         或者
         if(treeNode1.Equals(treeNode2)
         或者
         if(TreeNode.Equals(treeNode1,treeNode2))
         或者
         if(TreeNode.ReferenceEquals(treeNode1,treeNode2))

         如果你想判断这个TreeNode变量的内容是否一样的时候,需要自己写代码来判断,这个类没有实现类似的方法:
         if(treeNode1.Text==treeNode2.Text)
    周雪峰
    • 已建议为答案 shoucal 2009年9月15日 9:03
    • 已标记为答案 YiChun Chen 2009年9月16日 5:22
    2009年9月15日 4:41
    版主
  • 补充一下,以上是 C# 的写法,VB.Net 中判断两个对象是否相等在使用运算符上有些不同,C# 使用 == ,VB.Net 使用 = 另外 treeNode 的并未定义 = 运算符,所以这里需要使用 Equals 或 ReferenceEquals
    知识改变命运,奋斗成就人生!
    2009年9月16日 1:40
    版主

全部回复

  • 你好,使用 node1.Equals(node2)
    知识改变命运,奋斗成就人生!
    2009年9月15日 2:15
    版主
  • Equals ,  == ,  ReferenceEquals 都可以用于判断两个对象的个体是不是相等。
    jon.valett@gmail.com
    2009年9月15日 2:26
    版主
  • 你好!
         如果你想判断两个TreeNode变量是否引用了同一实例的时候,可以这样:
         if(treeNode1==treeNode2)
         或者
         if(treeNode1.Equals(treeNode2)
         或者
         if(TreeNode.Equals(treeNode1,treeNode2))
         或者
         if(TreeNode.ReferenceEquals(treeNode1,treeNode2))

         如果你想判断这个TreeNode变量的内容是否一样的时候,需要自己写代码来判断,这个类没有实现类似的方法:
         if(treeNode1.Text==treeNode2.Text)
    周雪峰
    • 已建议为答案 shoucal 2009年9月15日 9:03
    • 已标记为答案 YiChun Chen 2009年9月16日 5:22
    2009年9月15日 4:41
    版主
  • 补充一下,以上是 C# 的写法,VB.Net 中判断两个对象是否相等在使用运算符上有些不同,C# 使用 == ,VB.Net 使用 = 另外 treeNode 的并未定义 = 运算符,所以这里需要使用 Equals 或 ReferenceEquals
    知识改变命运,奋斗成就人生!
    2009年9月16日 1:40
    版主
  • XXY版主,你好!
          TreeNode是存在“==”运算符重载的,是从Object继承的,例如:
            static void Main(string[] args)
            {
                TreeNode treeNode1 = new TreeNode();
                TreeNode treeNode2 = treeNode1;
                if (treeNode1 == treeNode2)
                    Console.WriteLine("Equals");

            }
    周雪峰
    2009年9月16日 5:30
    版主
  • 你好,你例举的是 C#,楼主我和说的是 VB.NET
    知识改变命运,奋斗成就人生!
    2009年9月16日 5:32
    版主
  • 补充一下,以上是 C# 的写法,VB.Net 中判断两个对象是否相等在使用运算符上有些不同,C# 使用 == ,VB.Net 使用 = 另外 treeNode 的并未定义 = 运算符,所以这里需要使用 Equals 或 ReferenceEquals
    知识改变命运,奋斗成就人生!
    我知道讨论的是VB.NET,你这里提到“VB.Net 使用 = 另外 treeNode 的并未定义 = 运算符”
    我认为TreeNode可以使用=运算符,这是从Object继承的行为!
    周雪峰
    2009年9月16日 5:39
    版主
  • 你好!你可以自己写段代码验证一下。
    知识改变命运,奋斗成就人生!
    2009年9月16日 5:45
    版主