随笔分类 -  C#

C#编程
摘要:Captured variable is disposed in the outer scope 在for循环中使用Lambda表达式时,所有Lambda表达式可能会捕获同一个变量(例如循环计数器),导致所有闭包引用的是同一个变量的最终值。 为了避免这个问题:可以在循环内部创建一个新的局部变量,并将 阅读全文
posted @ 2024-10-29 13:50 BigBosscyb 阅读(18) 评论(0) 推荐(0) 编辑
摘要:实现背景: 看到了饿了么UI里面的日历组件 心血来潮想用WPF简单实现一下 实现过程: 参考项目 https://github.com/SeaSharpGit/DateWork/blob/master/DateWork/Models/DayType.cs 参考效果 https://element.e 阅读全文
posted @ 2023-10-09 18:14 BigBosscyb 阅读(347) 评论(0) 推荐(0) 编辑
摘要:循环删除集合中的元素,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Foreach 阅读全文
posted @ 2023-03-15 22:43 BigBosscyb 阅读(2513) 评论(0) 推荐(1) 编辑
摘要:场景1:当我们对一个集合类型使用Sort方法进行排序时,默认情况下Sort方法内部会调用默认比较器,这样排序出来的结果可能并不是我们期望的; 场景2:若是让集合中的元素实现IComparable接口,我们可以达到按照自己的需求进行排序的目的,但是这种有两个不灵活的地方: 1、我们想要按照其它属性进行 阅读全文
posted @ 2023-03-14 10:42 BigBosscyb 阅读(398) 评论(0) 推荐(0) 编辑
摘要:泛型接口:成员的参数和返回值都可以是类型参数 自定义泛型接口 interface IDoSomeAble<T> { string GetFullName(T type); } 用泛型类实现泛型接口 class TestClass<T> : IDoSomeAble<T> { public string 阅读全文
posted @ 2020-11-27 00:47 BigBosscyb 阅读(917) 评论(0) 推荐(0) 编辑
摘要:泛型委托:由于类型参数决定泛型委托能够接收什么样的方法;所以相较非泛型委托更加灵活。 声明自定义的泛型委托 public delegate R ReportResult<T, R>(T pams); 定义泛型委托变量 /// <summary> /// 泛型委托的构造类型:需要一个形参为int类型、 阅读全文
posted @ 2020-11-25 00:11 BigBosscyb 阅读(353) 评论(0) 推荐(0) 编辑
摘要:对于泛型类,我们一定十分熟悉了。比如:List,Dictionary<T1,T2>等等。 泛型类型的声明,在C#:泛型中已经提及,下面给出一些示例; 泛型单例:它是一种泛型类型;类型参数(如:T)用来代替需要支持单例模式的类型;提供一个公开的、返回值类型为T、的静态方法。 class SingleT 阅读全文
posted @ 2020-11-22 20:43 BigBosscyb 阅读(827) 评论(0) 推荐(0) 编辑
摘要:前提:由于我们是应用程序的开发者,所以我们要下载的是SDK或者Developer Pack;而不是Runtime包(runtime是给应用程序的用户使用的)。 前提2:SDK安装完毕后,Rider的反应可能并不那么及时。建议在安装SDK前就关闭Rider哦。 问题1:使用Rider打开一个老的项目, 阅读全文
posted @ 2020-11-15 18:23 BigBosscyb 阅读(5963) 评论(0) 推荐(0) 编辑
摘要:在上一篇讲了泛型的基本概念后,本篇将走进泛型的应用。 泛型方法: 第一步:声明泛型方法 方法名后面使用<>,然后在<>中放置类型参数列表 在方法的参数列表中,使用类型参数 在方法参数列表后,使用约束子句(这一步不是必选的) /// <summary> /// 比较两个数的大小 /// </summa 阅读全文
posted @ 2020-11-14 18:32 BigBosscyb 阅读(1622) 评论(2) 推荐(0) 编辑
摘要:泛型:拥有让多种类型共享一组代码的能力。 在声明语句中,在方法名、类名、接口名、结构名、委托类型名后,使用一个"<占位符1,占位符2>"(如:List、Action<T1,T2>)来替代真实的数据类型这就完成了泛型的创建 这些占位符被称为类型参数、使用了类型参数后方法变成了泛型方法、类变成了泛型类、 阅读全文
posted @ 2020-11-14 12:39 BigBosscyb 阅读(199) 评论(0) 推荐(0) 编辑
摘要:接口:接口是指定了一组函数成员,但却没有实现它们的一种引用类型。 如何定义和使用接口: interface关键字修饰 接口类型名以大写I开头(如:IList) 接口侧重"我能干什么...",微软给我们预定义的接口就多以xxxable结尾。 namespace InterfaceDemo { clas 阅读全文
posted @ 2020-11-03 22:08 BigBosscyb 阅读(313) 评论(0) 推荐(0) 编辑
摘要:需求:我们需要一个Square类和Circle类能够打印出面积、颜色等成员信息;并且还希望他们能够打印出自己的特点。 在不使用继承的情况下我们可以写出如下代码: namespace AbstractClassDemo { class Program { static void Main(string 阅读全文
posted @ 2020-10-27 01:35 BigBosscyb 阅读(572) 评论(0) 推荐(0) 编辑
摘要:这一篇是补给C#:类的继承的。 由于在写这篇的时候,发现base和this在访问同一成员的时候编译期提示颜色变成灰色,所以才决定将base和this的区别查一下 微软官方给出的base的介绍其实就是base和this的区别:base关键字 调用基类上被其它方法重写的方法--准确来说是在子类中使用ba 阅读全文
posted @ 2020-10-26 01:27 BigBosscyb 阅读(532) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示