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

  • 相关阅读:
    Ajax 一
    Ajax
    回调函数2
    回调函数
    mysql_fetch_row mysql_fetch_array
    几款主流PHP框架的优缺点评比
    关于PHP 7你必须知道的五件事
    10个实用的PHP正则表达式
    PHP实现四种基本排序算法
    10个最佳的PHP图像操作库
  • 原文地址:https://www.cnblogs.com/zzunstu/p/3404004.html
Copyright © 2020-2023  润新知