zoukankan      html  css  js  c++  java
  • .Net 相等性的测试题目,看你基础牢不牢

    有这么一个简单类People:

        class People
        {
            
    public int Id { getset; }
            
    public string Name { getset; }

            
    public override string ToString()
            {
                
    return string.Format("Id: {0}; Name: {1}", Id, Name);
            }
        }

    请看以下代码,给出b0~b6的值(b6的相关代码不熟悉的话,可以只给出b0~b5的值):

        private static void Test()
        {
            People[] ps0 
    = new People[]{
                
    new People{ Id=1, Name = "aaa"},
                
    new People{ Id=2, Name = "bbb"},
                
    new People{ Id=3, Name = "ccc"}
            };
            List
    <People> ps1 = new List<People>(ps0);
            Collection
    <People> ps2 = new Collection<People>(ps1);
            IEnumerable
    <People> ps3 = YeildRet(ps0);
            Dictionary
    <People, string> dict = ps0.ToDictionary(p=>p, p=>p.Name);

            People p0 
    = new People { Id = 1, Name = "aaa" };

            
    //
            bool b0 = p0 == ps0[0];
            
    bool b1 = p0.Equals(ps0[0]);
            
    //
            bool b2 = ps0.Contains(p0);
            
    bool b3 = ps1.Contains(p0);
            
    bool b4 = ps2.Contains(p0);
            
    bool b5 = ps3.Contains(p0);
            
    //
            bool b6 = dict.ContainsKey(p0);
        }

        
    private static IEnumerable<People> YeildRet(People[] peoples)
        {
                
    yield return peoples[0];
                
    yield return peoples[1];
                
    yield return peoples[2];
        }

     下面会把People类逐步改进,同样请给出每个版本的b0~b6的值,一个版本一个版本做,做完一个版本才能展开下一个版本。不要作弊奥!

    People版本二

    再改进,

    People版本三

    再改进

    People版本四

    再改进:

    People版本五

     说明:代码仅供测试用,没有进行null值处理。

  • 相关阅读:
    我们毕业了!!!@全体成员
    华东交通大学编译原理期末试卷
    软件设计师中级下午答题解题策略分析~
    Java实现旅行商最短距离
    基于SSH的医院在线挂号
    基于Java的模拟写字板的设计与实现
    基于java的雷电游戏
    基于Java的飞机大战游戏的设计与实现
    基于Java的超级玛丽游戏的设计与实现
    基于Javaee的影视创作论坛的设计与实现
  • 原文地址:https://www.cnblogs.com/ldp615/p/1560543.html
Copyright © 2011-2022 走看看