自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xiaososa的博客

从入门到入土

  • 博客(62)
  • 收藏
  • 关注

转载 应用只能单开的代码

图片出自十月的寒流大神的视频,地址:https://www.bilibili.com/list/watchlater?应用只能单开的代码举例。

2023-09-25 08:55:59 118

原创 C#关于LiveCharts中文显示乱码的问题

经由群内大佬指点,在这里总结,并不是本人想出的解决办法,但是大家也许可以通过这个方法解决。侧边描述和图表里的描述都会显示乱码,本次解决方案是在MVVM模式下。ViewModel.cs下。

2023-06-12 09:45:01 1645 3

原创 C#中WPF实现依赖注入和MVVM,以及服务定位ServiceLocator

这里有一个优雅的写法,当你写到DataContext="{Binding的时候,先按一下空格,然后写一个逗号,在写Source={StaticResource ServiceLocator}}”,后面就可以自动感知到MainWindowViewModel。好了,这次我们就可以绑定值了,将刚才的控件都修改一下,mode我们选择双向绑定,意味着只要值有变化就会通知前台更改值。这时我们就使用了容器,等待类型注入,此时我们的依赖注入初步就完成了,下面进行添加MVVM模式。

2023-03-22 23:12:17 3983 1

转载 C#实现两个线程交替输出字母数组

c#实现两个线程交替输出字母数组

2022-08-25 10:07:25 293

翻译 [翻译]C#:tip IsNullOrEmpty 和IsNullOrWhiteSpace有什么区别?

IsNullOrEmpty 和IsNullOrWhiteSpace有什么区别

2022-08-25 10:01:56 108

原创 有氧运动与无氧运动的区别

有氧无氧运动

2022-07-06 08:36:22 529

原创 C# 实现真正的四舍五入

c# 四舍五入

2022-06-23 14:00:22 4017

原创 LeetCode 513. 找树左下角的值

树 算法 深搜 广搜

2022-06-22 17:03:41 97

原创 c# Linq Aggregate()累加函数的用法

c# Linq Aggregate

2022-06-21 11:23:43 1718

原创 C#-Linq用法Average

Linq Average

2022-06-20 09:13:19 415

原创 LeetCode 1089. 复写零

LeetCode 1089. 复写零

2022-06-17 09:47:57 64

原创 LeetCode 523. 数组中的 k-diff 数对

LeetCode 523. 数组中的 k-diff 数对

2022-06-16 11:56:10 1442

原创 .net6.0 EFCore 连接 SqlServer的一些问题

EFCore连接SQLServer

2022-06-15 09:22:46 1835

原创 余弦相似度-C#代码实现

字符匹配之余弦相似度 C#算法实现

2022-06-14 16:56:28 1463

原创 C# MethodInfo.Invoke捕获被调用函数的异常

C# MethodInfo.Invoke捕获被调用函数的异常

2022-06-08 10:29:04 672

原创 LeetCode 1823. 找出游戏的获胜者--约瑟夫环问题

找出游戏的获胜者–约瑟夫环问题共有 n 名小伙伴一起做游戏。小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号。确切地说,从第 i 名小伙伴顺时针移动一位会到达第 (i+1) 名小伙伴的位置,其中 1 <= i < n ,从第 n 名小伙伴顺时针移动一位会回到第 1 名小伙伴的位置。写了半天竟然没想到队列。。。游戏遵循如下规则:从第 1 名小伙伴所在位置 开始 。沿着顺时针方向数 k 名小伙伴,计数时需要 包含 起始时的那位小伙伴。逐个绕圈进行计数,一些小伙伴可能会被数过不止

2022-05-04 09:21:59 214

原创 c#语法-反射

反射:就是操作dll文件的一个类库最近想依赖注入一个泛型的类 不知怎么操作 再来重新复习下反射内容假设我们有一个.dll文件叫xiaomi,完整路径为C:\工程文件\xiaomi.dll一、加载DLL文件方式一 Assmbly.Load(“xiaomi”)Assembly assembly = Assembly.Load("xiaomi");//这个DLL文件要在启动项目下方式二 Assembly.LoadFile(“完整路径”)Assembly assembly = Ass

2022-05-01 10:25:31 391

转载 .NET 6 新特性 —— Random.Shared

Intro最近微软发了一篇 .NET 6 性能提升的博客文章,里面提到了很多有趣的东西,其中有一个是 Random.Shared这是一个只读的静态属性,并且是一个线程安全的对象,这个东西可以帮助我们简化 Random 对象的使用Before首先我们需要知道 Random 不是线程安全的,所以我们如果要在多线程下用 Random 的话,通常需要考虑线程安全问题既然不是线程安全的,那我们用的时候创建一个就好了,每次都 new 一个,但是这样的话一来代码不够简洁,二来可能会创建比较多的 Ran

2022-04-21 11:48:27 528

原创 区域和检索 - 数组可修改 - 线段树的构造

区域和检索 - 数组可修改给你一个数组 nums ,请你完成两类查询。其中一类查询要求 更新 数组 nums 下标对应的值另一类查询要求返回数组 nums 中索引 left 和索引 right 之间( 包含 )的nums元素的 和 ,其中 left <= right实现 NumArray 类:NumArray(int[] nums) 用整数数组 nums 初始化对象void update(int index, int val) 将 nums[index] 的值 更新 为 valint

2022-04-14 08:32:34 222

原创 .net最近做题整理的一些语法糖

Linq的Sum() 加和int maxWealth = int.MinValue;foreach (int[] account in accounts) { maxWealth = Math.Max(maxWealth, account.Sum());}null! 告诉编译器这个null不是null!!!!//例子1namespace ContosoPizza.Models{ public partial class Coupon { public

2022-04-14 08:29:03 686

原创 C#中IS和AS关键字的用法

在程序中,进行类型转换是常见的事,C#支持基本的强制类型转换方法,例如:Object obj1 = new NewType();NewType newValue = (NewType)obj1;这样强制转换的时候,这个过程是不安全的,因此需要用try-catch语句进行保护,这样一来,比较安全的代码方式应如下所示:Object obj1 = new NewType();NewType newValue = null;try{ newValue = (NewType)obj1;}cat

2022-03-18 09:00:26 249

原创 滑动窗口模板

算法题应用场景:关键词:满足XXX条件(计算结果,出现次数,同时包含)最长/最短子串/子数组/子序列例如:长度最小的子数组滑动窗口使用思路(寻找最长)核心:左右双指针(L,R)在起始点,R向右逐位滑动循环​ 每次滑动过程中如果:窗内元素满足条件,R向右扩大窗口,并更新最优结果如果:窗内元素不满足条件,L向右缩小窗口——R到达结尾//最长模板初始化left,right,result,bestResultWhile(右指针没有到达结尾){ 窗口扩大,加入right对应元

2022-02-20 09:47:32 946 1

转载 C# Linq 交集、并集、差集、去重

其实只要明白 LINQ查询操作符的Distinct、Union、Concat、Intersect、Except、Skip、Take、SkipWhile、TakeWhile、Single、SingleOrDefault、Reverse、SelectMany,Aggregate()的使用,一些简单的操作就可以了。合并两个数组,并去掉重复元素,然后排序(C#)List<int> numbers1 = new List<int>() { 5, 4, 1, 3, 9, 8, 6, 7, 1

2022-02-16 08:53:58 964

原创 异或 巧用异或性质 ^

今天做LeetCode发现一个比较有趣的性质,做下笔记给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。请你找出并返回只出现一次的那个数。你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。输入: nums = [1,1,2,3,3,4,4,8,8]输出: 2输入: nums = [3,3,7,7,10,11,11]输出: 10解析:利用按位异或的性质,可以得到mid 和相邻的数之间的如下关系,其中 ⊕ 是按位异或运算符:当

2022-02-14 09:29:34 185

原创 DoNet6新特性 PriorityQueue 优先队列终于来啦~

c#终于迎来优先队列了 不用我们自己排序了PriorityQueue<string, int> priorityQueue = new PriorityQueue<string, int>();for (int i = 0; i < 10; i++){ int num = new Random().Next(1, 1000); priorityQueue.Enqueue(num.ToString(), num);}string v = priori

2022-02-11 23:13:02 220

原创 DoNet6新特性 Enumerable.Chunk()

.net6新增了一个语法糖 对于分块读取,断点续传,大文件分段读取,我们可以直接用一句话就可以代替繁琐的操作比如我们有1005页书 要按每10页分一组 我们可以进行一下操作static void Main(string[] args){ //新特性一句话搞定 List<int[]> list = Enumerable.Range(1, 1005).Chunk(10).ToList(); //以前的方法 List<int> list1 = Enu

2022-02-10 20:06:36 653

翻译 关于C# 8中的Hat运算符(^)

关于C# 8中的Hat运算符(^)这个运算符的新用法是自动创建 Index 结构体的实例。那什么是 Index 结构呢?这在 C# 8 中也有介绍。Index 结构体的代码(就像所有的 C# 代码一样)可以在 github 上找到。你可以看到,它是一个相当简单的结构体,包含一个整数值,和一个定义是否应该从末尾开始计数的布尔值。到目前为止,当尝试访问数组中特定索引处的值时,我们总是从第一个元素开始考虑。那么 Hat 运算符(^)是如何帮助我们的呢?例如,如果你想获取一个已知大小的数组的最后一个的元素,你

2021-11-17 15:29:14 388

原创 递归优化之快速排序

递归优化之快速排序转载自https://www.cnblogs.com/showjim/archive/2012/05/11/2496072.html根据.net源代码来看,当数据类型为基本类型并且未指定排序规则时用的是本地代码(TrySZSort),否则使用快速排序的泛型实现。[MethodImpl(MethodImplOptions.InternalCall),ReliabilityContract(Consistency.MayCorruptInstance, Cer.MayFail)]p

2021-11-09 14:33:33 190

原创 C#新语法

C#新语法一、顶级语句(C#9.0)直接在C#文件中直接编写入口方法的代码,不用类,不用Main,经典写法仍然支持。同一个项目只能有一个文件具有顶级语句。顶级语句中可以直接使用await语法,也可以声明函数二、全局Using指令(C#10)将global修饰符添加到using前,这个命名空间就应用到整个项目,不用重复using。通常创建一个专门来编写全局using代码的C#文件。如果csproj中启用了<ImplicitUsings>enable</I

2021-10-24 16:24:06 1875

原创 C# this关键字的四种用法

C# this关键字的四种用法用法一 this代表当前类的实例对象namespace Demo{ public class Test { private string scope = "全局变量"; public string getResult() { string scope = "局部变量";       // this代表Test的实例对象       // 所以this.scope对应的是全局变量

2021-10-19 16:09:11 226

原创 二分查找算法

二分查找算法class Program{ static void Main(string[] args) { // 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, 16, 17, 18, Console.WriteLine(My2FenFa(new int[19] { 1,2,3,4,5,6,7,8,9,9,11,11,11,11,

2021-09-29 08:55:59 62

原创 深度优先搜索的模板

深度优先搜索的模板: void dfs()//参数用来表示状态 { if(到达终点状态) { ...//根据题意来添加 return; } if(越界或者是不符合法状态)//剪枝 return; for(扩展方式) { if(扩展方式所达到状态合法) { ....//根据题意来添加 标记;

2021-09-29 08:53:29 104

转载 转载:差分数组

转载自:https://blog.csdn.net/qq_31601743/article/details/105352885问题背景如果给你一个包含5000万个元素的数组,然后会有频繁区间修改操作,那什么是频繁的区间修改操作呢?比如让第1个数到第1000万个数每个数都加上1,而且这种操作时频繁的。此时你应该怎么做?很容易想到的是,从第1个数开始遍历,一直遍历到第1000万个数,然后每个数都加上1,如果这种操作很频繁的话,那这种暴力的方法在一些实时的系统中可能就拉跨了。因此,今天的主角就出现了——差

2021-08-31 09:14:19 69

原创 .NET Core EF Core

.NET Core EF Core一.什么是ORM1.ORM:Object Relation Mapping. 让开发者用对象操作的形式操作关系数据库.比如插入:User user = new User(){Name="admin",Password="123"};orm.Save(User);比如查询:Book b = orm.Book.Single(b=>b.Id==3||b.Name.Contains(".NET"));string bookName = b.Name;str

2021-05-02 16:22:25 740

原创 .NET CORE配置入门

.NET CORE配置入门1.传统Web.config配置的缺点,之前DI讲到过2.为了兼容,仍然可以使用Web.config和ConfigurationManager类,但不推荐3…NET中的配置系统支持丰富的配置源,包括文件(json,xml,ini等),注册表,环境变量,命令行,Azure Key Vault等,还可以配置自定义配置源,可以跟踪的改变,可以按照优先级覆盖.一.读取Json文件配置{ "name": "mcg", "age": "18", "proxy": {"ad

2021-04-18 18:34:53 564

原创 .NET CORE DI 依赖注入

.NET CORE DI 依赖注入DI几个概念服务(service):对象;注册服务;服务容器:负责管理注册的服务;查询服务:创建对象及关联对象;对象生命周期:Transient(瞬态);Scoped(范围);Singleton(单例)1. .NET中使用DI(1)1.测试代码见备注2.根据类型来获取和注册服务可以分别指定服务类型(service type)和实现类型(implementation type).这两者可能相同,也可能不同.服务类型可以是类,也可以是接口,建议面向接口编程,

2021-04-04 13:51:37 396

原创 Linq

Linq一.初识LinqLinq中提供了很多集合的扩展方法,配合Lambda能简化数据处理.比如我们需要获取数组中大于10的数using System.Linq;int[] nums = new int[]{3,88,99,55,77,66,15,7};IEnumerable<int> items = nums.Where(i => i > 10);Where原理其实如下:static IEnumerable<int> MyWhere1(IEnumer

2021-03-28 23:02:07 197

原创 .Net Core异步编程

.Net Core异步编程一. “异步方法”:用async关键字修饰的方法异步方法的返回值一般是Task,T是真正的返回值类型,Task.惯例:异步方法名字最好以Async结尾,这样方便我们只要是async即使方法没有返回值,也最好吧返回值声明为非泛型的Task.调用泛型方法时,一般在方法前加上await关键字,这样拿到的返回值就是泛型指定的T类型;异步方法的"传染性": 一个方法中如果await调用,则这个方法也必须修饰为asyncstatic async Task Main(string

2021-03-28 00:15:04 1022

原创 经典算法--Java版本

算法1.二分查找算法二分查找算法(非递归)介绍前面我们讲过了二分查找算法,是使用递归的方式,下面我们讲解二分查找算法的非递归方式二分查找法只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找二分查找法的运行时间为对数时间O(㏒₂n),即查找到需要的目标位置最多只需要㏒₂n步,假设从[0,99]的队列(100个数,即n=100)中寻到目标数30,则需要查找步数为㏒₂100,即最多需要查找7次(26<100<27)二分查找算法(非递归)代码实现数组{1,3,

2021-03-23 21:45:06 258

原创 C#泛型的协变和逆变

其实就是和强转的意思差不多 只不过out 和 in已经提前强转了,我是这么理解的namespace ConsoleApp1{ class Program { static void Main(string[] args) { #region 协变和逆变 Console.WriteLine("-----------------协变和逆变-------------------"); Peopl

2021-03-14 19:05:11 125

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除