zoukankan      html  css  js  c++  java
  • 匿名类型anonymous type

    匿名类型:

     var curry = new 
                {
                    MainIngredient = "lamb",
                    Style = "red",
                    Spiciness = 1
                };

    见以下代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace VarDemo
    {
        public class Curry
        {
            public string MainIngredient
            {
                get;
                set;
            }
    
            public string Style
            {
                get;
                set;
            }
            public int Spiciness
            {
                get;
                set;
            }
    
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                Curry cur1 = new Curry
                {
                    MainIngredient = "Panic",
                    Style = "Red",
                    Spiciness = 8
                };
    
                var curry = new 
                {
                    MainIngredient = "lamb",
                    Style = "red",
                    Spiciness = 1
                };
    
                Console.WriteLine(curry.MainIngredient);
                Console.WriteLine(curry.Spiciness);
                Console.WriteLine(curry.Style);
    
                var curries = new[] 
                { 
                    new 
                    {
                        MainIngredient = "Panic",
                        Style = "Red",
                        Spiciness = 8
                    },
                    new 
                    {
                        MainIngredient = "Panic",
                        Style = "Red",
                        Spiciness = 8
                    },
                    new 
                    {
                        MainIngredient = "Soyou",
                        Style = "yell",
                        Spiciness = 2
                    },
                };
    
                Console.WriteLine(curries[0].ToString());
                Console.WriteLine(curries[0].GetHashCode());
                Console.WriteLine(curries[1].GetHashCode());
                Console.WriteLine(curries[2].GetHashCode());
                Console.WriteLine(curries[0].Equals(curries[1]));
                Console.WriteLine(curries[0].Equals(curries[2]));
                Console.WriteLine(curries[0] == curries[1]);
                Console.WriteLine(curries[0] == curries[2]);
    
                Console.ReadLine();
            }
        }
    }

    注意:这里显示的属性定义为只读属性,这表示,如果要在数据存储对象中修改属性的值,就不能使用匿名类型了。

    1.匿名类型上的Equals()的实现比较对象的状态,如果一个对象的每个属性都与另一个对象的对应属性值相同,结果就是true;

    2.==运算符比较对象的引用;(数组中的每一项都引用匿名类型的不同实例)

  • 相关阅读:
    nginx+keepalived实现高可用
    zookeeper集群和安装dubbo的管控台
    常见设计模式的解析和实现(C++)
    sed的工作原理(pattern space 和 hold space)
    sed学习笔记
    C++协助破案问题
    C++中extern “C”含义深层探索
    阿里巴巴笔试第28题
    阿里巴巴集团2014校园招聘笔试题(研发工程师--北邮站)
    淘宝数据魔方技术架构解析
  • 原文地址:https://www.cnblogs.com/zzunstu/p/3404004.html
Copyright © 2011-2022 走看看