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

  • 相关阅读:
    C# 文件流
    SQL语句(十八_补充)——存储过程
    SQL语句(十九)——存储过程(练习)
    SQL语句(十八)—— 存储过程
    软件测试(二)PICT的使用 组合测试方法(两两组合测试,可遍历组合测试)
    Swing布局管理器
    软件测试(一)-黑盒测试 随机测试技巧
    (一)在Lingo中使用集合
    数学建模 TSP(旅行商问题) Lingo求解
    哲学家进餐问题
  • 原文地址:https://www.cnblogs.com/zzunstu/p/3404004.html
Copyright © 2011-2022 走看看