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.==运算符比较对象的引用;(数组中的每一项都引用匿名类型的不同实例)

  • 相关阅读:
    443. String Compression
    506. Relative Ranks
    825. Friends Of Appropriate Ages
    447. Number of Boomerangs
    54. Spiral Matrix
    744. Find Smallest Letter Greater Than Target
    HDU-1565 方格取数(1)
    zoj 3672 Gao The Sequence
    ZOJ 3675 Trim the Nails
    poj -2955 Brackets
  • 原文地址:https://www.cnblogs.com/zzunstu/p/3404004.html
Copyright © 2011-2022 走看看