Csharp
Csharp学习
xiaososa.
csharp不停进阶中
展开
-
C#关于LiveCharts中文显示乱码的问题
经由群内大佬指点,在这里总结,并不是本人想出的解决办法,但是大家也许可以通过这个方法解决。侧边描述和图表里的描述都会显示乱码,本次解决方案是在MVVM模式下。ViewModel.cs下。原创 2023-06-12 09:45:01 · 1908 阅读 · 3 评论 -
C#中WPF实现依赖注入和MVVM,以及服务定位ServiceLocator
这里有一个优雅的写法,当你写到DataContext="{Binding的时候,先按一下空格,然后写一个逗号,在写Source={StaticResource ServiceLocator}}”,后面就可以自动感知到MainWindowViewModel。好了,这次我们就可以绑定值了,将刚才的控件都修改一下,mode我们选择双向绑定,意味着只要值有变化就会通知前台更改值。这时我们就使用了容器,等待类型注入,此时我们的依赖注入初步就完成了,下面进行添加MVVM模式。原创 2023-03-22 23:12:17 · 4440 阅读 · 1 评论 -
C#实现两个线程交替输出字母数组
c#实现两个线程交替输出字母数组转载 2022-08-25 10:07:25 · 304 阅读 · 0 评论 -
c# Linq Aggregate()累加函数的用法
c# Linq Aggregate原创 2022-06-21 11:23:43 · 1905 阅读 · 0 评论 -
C# MethodInfo.Invoke捕获被调用函数的异常
C# MethodInfo.Invoke捕获被调用函数的异常原创 2022-06-08 10:29:04 · 717 阅读 · 0 评论 -
LeetCode 1823. 找出游戏的获胜者--约瑟夫环问题
找出游戏的获胜者–约瑟夫环问题共有 n 名小伙伴一起做游戏。小伙伴们围成一圈,按 顺时针顺序 从 1 到 n 编号。确切地说,从第 i 名小伙伴顺时针移动一位会到达第 (i+1) 名小伙伴的位置,其中 1 <= i < n ,从第 n 名小伙伴顺时针移动一位会回到第 1 名小伙伴的位置。写了半天竟然没想到队列。。。游戏遵循如下规则:从第 1 名小伙伴所在位置 开始 。沿着顺时针方向数 k 名小伙伴,计数时需要 包含 起始时的那位小伙伴。逐个绕圈进行计数,一些小伙伴可能会被数过不止原创 2022-05-04 09:21:59 · 241 阅读 · 0 评论 -
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 · 423 阅读 · 0 评论 -
关于C# 8中的Hat运算符(^)
关于C# 8中的Hat运算符(^)这个运算符的新用法是自动创建 Index 结构体的实例。那什么是 Index 结构呢?这在 C# 8 中也有介绍。Index 结构体的代码(就像所有的 C# 代码一样)可以在 github 上找到。你可以看到,它是一个相当简单的结构体,包含一个整数值,和一个定义是否应该从末尾开始计数的布尔值。到目前为止,当尝试访问数组中特定索引处的值时,我们总是从第一个元素开始考虑。那么 Hat 运算符(^)是如何帮助我们的呢?例如,如果你想获取一个已知大小的数组的最后一个的元素,你翻译 2021-11-17 15:29:14 · 429 阅读 · 0 评论 -
递归优化之快速排序
递归优化之快速排序转载自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 · 197 阅读 · 0 评论 -
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 · 1908 阅读 · 0 评论 -
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 · 241 阅读 · 0 评论 -
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 · 209 阅读 · 0 评论 -
C#泛型的协变和逆变
其实就是和强转的意思差不多 只不过out 和 in已经提前强转了,我是这么理解的namespace ConsoleApp1{ class Program { static void Main(string[] args) { #region 协变和逆变 Console.WriteLine("-----------------协变和逆变-------------------"); Peopl原创 2021-03-14 19:05:11 · 151 阅读 · 0 评论 -
C# 中 “$” 符号的作用以及用法
C# 中 “$” 符号的作用是C#6.0中新出现的一个特性,也即是字符串的拼接优化。语法格式:$”string {参数}”解释:以$符号开头开始字符串,其中以{}来进行传参,可以多个参数累加。例如:var results = $“Hello {Name}”;对于字符串的拼接我们基本上是1、string str = “my name is” + name +“my age is”+age;2、使用 string.Format 的语法 string str =string.Format("my n原创 2021-03-10 15:43:49 · 4244 阅读 · 0 评论 -
C# 之 字符串截取--Substring
C# 之 字符串截取–Substring public String Substring(int startIndex);从此字符串检索子字符串,子字符串从指定的字符位置(第startindex个字符)开始,一直到此字符串末尾。 class Program { static void Main(string[] args) { string s1 = "所属机构名称/教师姓名/课程类型/课程名称"; Cons原创 2021-03-05 15:38:18 · 809 阅读 · 1 评论 -
C# 之 字符串截取--Split
C# 之 字符串截取–SplitString.Split方法:返回的字符串数组包含此实例中的子字符串(由指定 Unicode 字符数组(separator)的元素分隔)。String.Split方法的重载方法有六种类型,但是我觉得都大同小异,只是参数不同,只是需求不同,其中的参数主要有:1.Char[] 由指定的Unicode字符数组的元素分隔。2.Int32 指定返回子字符串的最大数量。3.StringSplitOptions 这个参数是一个枚举类型的参数,只有两种选项:第一种StringS原创 2021-03-05 15:29:20 · 1467 阅读 · 2 评论 -
C# 之 字符串截取--Regex.Match
C# 之 字符串截取–Regex.MatchRegex.Match方法:在输入字符串中搜索匹配正则表达式模式的子字符串,并将第一个匹配项作为单个Match对象返回。Regex.Match方法的重载方法有六种类型,也都差不多,下面就主要给大家讲讲怎么用Regex.Match方法实现我们需要的功能:public Match Match(string input):在指定的输入字符串中搜索 Regex 构造函数中指定的正则表达式的第一个匹配项;参数:要搜索匹配项的字符串;返回结果:一个包含有关匹配原创 2021-03-05 13:18:25 · 3287 阅读 · 0 评论 -
C#中@的3种作用
c#中@的3种作用1.忽略转义字符例如 string fileName = "D:\\文本文件\\text.txt";使用@后 string fileName = @"D:\文本文件\text.txt";2.让字符串跨行例如 string strSQL = "SELECT * FROM HumanResources.Employee AS e" + " INNER JOIN Person.Contact AS c" + " ON e.ContactID = c.Contact原创 2021-03-05 11:48:17 · 440 阅读 · 2 评论