首页 > 编程语言 >C#——匿名类型

C#——匿名类型

时间:2024-09-20 11:24:00浏览次数:4  
标签:Name C# Age Cat 匿名 类型 new public

匿名类型:

*提供了一种方便的方法,用来将一组只读属性封装到单个对象中,而无需首先显示定义一个类型

*类型名由编译器生成

*结合new运算符和对象初始值设定项创建匿名类型

*匿名类型是class类型,直接派生自object

*如下示例,查找年龄是两岁的猫

    public class Cat
    {
        // Auto-implemented properties.
        public int Age { get; set; }
        public string Name { get; set; }

        public Cat()
        {
        }

        public Cat(string name)
        {
            this.Name = name;
        }
    }
        static void Main(string[] args)
        {

            List<Cat> cats = new List<Cat>
            {
                new Cat { Name = "Sylvester", Age = 8 },
                new Cat { Name = "Whiskers", Age = 2 },
                new Cat { Name = "Sasha", Age = 14 }
            };

            var cat = from pet in cats
                      where pet.Age == 2
                      select pet;

            Console.WriteLine($"{cat.First().Name}'age is 2 ");

            //output
            //Whiskers'age is 2
        }

 

标签:Name,C#,Age,Cat,匿名,类型,new,public
From: https://www.cnblogs.com/echo-efun/p/18420779

相关文章

  • GBase 8c NUMA绑核调优实操
    NUMA优化技术是针对数据库在NUMA架构CPU上运行时出现的资源消耗不均、并发场景下远端Node时延较高等问题进行优化的技术。GBase8c数据库通过设置执行线程与Node节点的亲和度,可以将线程绑定在指定的CPU核心运行,从而避免跨Node调度,降低远端访问时延,提升数据库对外处理性能。同时,线程......
  • typecho博客的相对地址实现
    typecho其中的博客地址,必须写上绝对地址,否则在迁移网址的时候会出现问题,例如页面记载异常修改其中的typecho\var\Widget\Options\General.php 中的165行左右,/**站点地址*/if(!defined('__TYPECHO_SITE_URL__')){$siteUrl=newForm\Element\Text('siteUrl',n......
  • 代码随想录算法训练营第十六天 | Javascript | 力扣Leetcode | 回溯 | 77. 组合、216.
    目录前言简介题目链接:77.组合题目链接:216.组合总和3题目链接:17.电话号码的字母组合前言踏平坎坷成大道,斗罢艰险又出发!自律的尽头是自控,自控的尽头是硬控。愿道友们披荆斩棘,终能得偿所愿。简介本人是小几年经验的前端开发,算法基础只有力扣几十道题,非常薄......
  • WPF behavior InvokeCommndAction PassEventArgsToCommand
    //xaml<ListBoxx:Name="lbx"SelectedIndex="0"ItemsSource="{BindingBooksCollection,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"VirtualizingPanel.IsContainerVirtualizable="Tru......
  • 代码随想录算法训练营第十五天 | Javascript | 继续二叉树的一天 | 力扣Leetcode | 补
    目录前言简介题目链接:501.二叉搜索树中的众数题目链接:236.二叉树的最近公共祖先题目链接:235.二叉搜索树的最近公共祖先前言踏平坎坷成大道,斗罢艰险又出发!自律的尽头是自控,自控的尽头是硬控。愿道友们披荆斩棘,终能得偿所愿。简介本人是小几年经验的前端开发,......
  • C++类与对象(三)
    目录1.再谈构造函数1.1构造函数体赋值1.2初始化列表1.3explicit关键字2.STATIC成员2.1概念2.2特性3.C++中成员初始化的新玩法4.友元4.1友元函数4.2友元类5.内部类6.再次理解封装7.再次理解面向对象本次内容大纲:1.再谈构造函数1.1构造函数体赋值在......
  • 写了一个全自动化漏洞扫描系统(poc_scan_web)
    前言上一个网络安全产品《魔盒安全情报》会不定时给我推送各种最新的漏洞情报,于是就写了一个全自动化漏洞扫描系统。主要原理是通过空间测绘平台和搜索引擎自动采集目标资产,然后再通过封装好的漏洞插件扫描漏洞,最后将结果保存到数据库,再通过系统展示出来。截图任务管理添加......
  • C++扫盲--直接构造(Direct Initialization)
      在C++中,直接构造(DirectInitialization)是由一种对象构造的方式,它直接调用类的构造函数来初始化对象。这种方式通常用于创建对象时立即提供必要的参数。直接构造的语法如下:ClassNameobjectName(arguments);其中,ClassName是类的名称,objectName是要创建的对象的名称,argument......
  • 帝国cms密码错误 帝国cms密码错误怎么回事
    在使用帝国CMS时,如果遇到密码错误的情况,通常是因为输入的用户名或密码不正确。以下是一些可能的原因和解决方法:输入错误最常见的原因是用户输入了错误的密码。请仔细检查输入的密码是否正确,注意大小写和特殊字符。密码已更改如果你最近更改了密码但忘记了新密码,你需要......
  • JavaScript基础语法
    JavaScript基本语法一、变量及数据类型1.变量1.1.变量的定义方法在JavaScript中,你可以使用var、let或const关键字来声明变量。其中,var声明的变量会提升(hoisting)到其作用域的顶部,而let和const(ES6及以后版本引入)声明的变量具有块级作用域,并且const声明的变量一旦赋值后不可重新......