当前位置: 首页 > news >正文

C#-扩展方法-Linq

密封类

sealed,无法被继承

var

可以定义匿名对象

static void test1()
{
    var t = 1;
    t = "jack";//报错,类型已经确定好了
    var s = new
    {
        id = 1,
        name = "tom"
    };
    Console.WriteLine(s.id + s.name);
}

扩展方法

对现有类型做方法的扩展,密封类也可以实现
不在同一命名空间需要引入,返回类型根据自己需要来决定

系统类型扩展

密封类扩展 

Linq 

static void Main(string[] args)
{
    test1();
}

static void test1()
{
    int[] nums = { 1, 7, 2, 6, 5, 4, 9, 13, 20 };
    List<int> list = new List<int>(nums);
    var res = nums
        .Where(x => x % 2 == 1)
        .Select(x => x * x)
        .OrderByDescending(x => x);
    foreach (var item in res)
    {
        Console.WriteLine(item);
    }
}
class Program
{
    static void Main(string[] args)
    {
        test1();
    }

    static void test1()
    {
        Student s1 = new Student() { id = 1, name = "tom1" };
        Student s2 = new Student() { id = 1, name = "tom2" };
        Student s3 = new Student() { id = 2, name = "tom3" };

        List<Student> list = new List<Student>() { s1, s2, s3 };
        //根据id升序,id相同按照name降序
        var res = list
            .OrderBy(s => s.id)
            .ThenByDescending(s => s.name);
        foreach (var item in res)
        {
            Console.WriteLine(item.ToString());
        }
        //从1开始,按顺序生成10个数
        var num1 = Enumerable.Range(1, 10);
        //生成10个abcd
        var num2 = Enumerable.Repeat("abcd", 10);
        foreach (var item in num1)
        {
            Console.WriteLine(item);
        }
        foreach (var item in num2)
        {
            Console.WriteLine(item);
        }
    }

}

相关文章:

  • u盘和硬盘的存储结构
  • 拦截器与过滤器
  • LPZero: Language Model Zero-cost Proxy Search from Zero(未更新完预览版本)
  • C++算法——差分
  • 在Vue中 使用 Web Worker
  • 2025-3-9 一周总结
  • 强化学习(赵世钰版)-学习笔记(4.值迭代与策略迭代)
  • 算力100问☞第80问:如何实现算力的弹性伸缩?
  • 配置 Thunderbird 以使用 QQ 邮箱
  • TinyWebServer项目笔记——02 半同步半反应堆线程池
  • FIWARE:开源的物联网平台,支持设备虚拟化和数据管理
  • java后端开发day30--常见算法(二)-------Arrayslambda
  • 每日一练之合并两个有序链表
  • 【0基础学Python】基础语法Part1
  • Next.js Server Action 提交 vs 前端 Fetch 提交:核心区别与优劣分析
  • 降级选型啊
  • 【向量模型】 开源通用向量模型BGE (BAAI General Embedding)
  • 英文字体:现代复古美学精致细节浓缩式衬线排版logo标题艺术字体 La Luxes Serif
  • 网络安全高级软件编程技术 网络安全 软件开发
  • 蓝桥杯备赛日记【day1】(c++赛道)
  • 网站源码下载教程/关键词查询工具软件
  • 做网站基本教程/搜索引擎优化师工资
  • 佛山龙江做网站的/上海网站建设推广服务
  • 网站组网图/推广引流渠道有哪些
  • 重庆出名的网站建设公司/最新seo操作
  • 郴州建设企业网站/搜索历史记录