![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
文章平均质量分 83
我寄人间雪满头丶
劝君莫惜金缕衣,劝君惜取少年时。
展开
-
C#LINQ常用语法大全
文章目录取值First, FirstOrDefault检查计算转换排序组合创建取值First, FirstOrDefaultFirst()基本用法相当于List[0]。public static TSource First<TSource>( this IEnumerable<TSource> source );MSDN代码示例:public static c...原创 2020-04-11 17:29:12 · 4489 阅读 · 2 评论 -
C#监听Dictionary、List的写入操作
在开发中,对于内置值类型和string我们可以通过封装属性在中监听写入操作,但是对于等就不能监听到等写入操作。所以一般采取两种方式监听它们的读写操作,一种是封装操作方法,间接进行监听,第二种就是重写和等方法。下面介绍第二种方法。原创 2024-01-14 01:26:12 · 694 阅读 · 0 评论 -
C#中枚举Enum特性Flags和Enum.HasFlag(Enum)用法
学习前需要了解位运算相关知识点。原创 2023-12-21 20:12:48 · 1188 阅读 · 0 评论 -
C# 元组(Tuple)VS中无法编译问题
元组的用法就不多赘述了,可以参考。这里着重讲下元组在VS环境下无法编译识别的问题。原创 2023-06-21 15:30:16 · 624 阅读 · 1 评论 -
Unity利用C#静态扩展方法实现链式编程
什么是链式编程我想大家应该都接触过DOTween,用起来是这样的。transform.DOMove(Vector3.one, 0.5f) .SetEase(Ease.InBack) .OnKill(() => Debug.Log("on killed")) .OnComplete(() => Debug.Log("on completed"));像以上.XXX().YYY().ZZZ()这种写原创 2021-03-15 14:56:42 · 811 阅读 · 0 评论 -
LINQ之ThenBy,ThenByDescending
返回LINQ大全首页目录ThenBy()ThenBy()使用指定的比较器按升序对序列中的元素执行后续排序。简单来说就是对使用过OrderBy和OrderByDescending的返回序列进行二次排序。(第一次排序优先级最高,如1,2,2,3,二次排序会对2,2排序)注意不能直接在数组或List上使用。MSDN升序:using System.Linq;using System.Collections;using System.Collections.Generic;public sta原创 2021-01-23 19:12:02 · 1577 阅读 · 0 评论 -
LINQ之OrderBy,OrderByDescending
返回LINQ大全首页目录OrderBy()OrderBy()按升序对序列的元素进行排序。MSDN以下示例使用lambda表达式返回元素本身。using System.Linq;using System.Collections;using System.Collections.Generic;public static class Program{ static void Main( string[] args ) { int[] dataA原创 2021-01-15 11:34:55 · 3895 阅读 · 0 评论 -
LINQ之Select,SelectMany
返回LINQ大全首页目录Select()SelectMany()Select()SelectMany()原创 2020-12-20 18:22:24 · 710 阅读 · 2 评论 -
LINQ之Distinct
返回LINQ大全首页Distinct()返回序列中的非重复元素。MSDNusing System.Linq;using System.Collections;using System.Collections.Generic;public static class Program{ static void Main( string[] args ) { int[] dataA = new int[] { 0, 1, 3, 3,原创 2020-12-15 18:03:25 · 1127 阅读 · 0 评论 -
LINQ之Reverse
返回LINQ大全首页Reverse()反转序列中元素的顺序。MSDNusing System.Linq;using System.Collections;using System.Collections.Generic;public static class Program{ static void Main( string[] args ) { int[] dataA = new int[] { 0, 1, 2, 3, 4原创 2020-12-15 16:23:08 · 579 阅读 · 0 评论 -
LINQ之Cast
返回LINQ大全首页Cast()将 IEnumerable 的元素强制转换为指定的类型。要注意如果数据为空或者无法转换为指定类型会报异常。System.Collections.ArrayList fruits = new System.Collections.ArrayList();fruits.Add("mango");fruits.Add("apple");fruits.Add("lemon");IEnumerable<string> query = fruits.Cast原创 2020-12-15 15:57:31 · 1239 阅读 · 0 评论 -
LINQ之AsEnumerable
返回LINQ大全首页AsEnumerable()可以返回IEnumerable类型。MSDN下面的例子中我们创建一个SpecialList类继承自List,然后自定义Any()方法隐藏掉List中的Any()方法。(List中的Any()方法在List不为空的时候直接调用不传入条件会返回true,空时返回false)using System.Linq;using System.Collections;using System.Collections.Generic;public static原创 2020-12-12 16:31:18 · 2673 阅读 · 0 评论 -
LINQ之ToDictionary
返回LINQ大全首页ToDictionary()可以用序列(例如数组和list)快速创建Dictionary。平时我们可能习惯用Foreach把list或数组中的内容转换为Dictionary,代码如下。using System.Linq;using System.Collections;using System.Collections.Generic;public static class Program{ private class Parameter {原创 2020-12-12 14:56:27 · 4459 阅读 · 0 评论 -
LINQ之ToList
返回LINQ大全首页ToList()使用ToList()可以将IEnumerable<T>转换为list。MSDNusing System.Linq;using System.Collections;using System.Collections.Generic;public static class Program{ static void Main( string[] args ) { List<float> d原创 2020-12-08 17:27:25 · 993 阅读 · 1 评论 -
LINQ之ToArray
返回LINQ大全首页ToArray()您可以从序列(例如数组或列表)创建数组。List<T>或IEnumerable<T>可以使用ToArray()直接转换为数组。MSDNusing System.Linq;using System.Collections;using System.Collections.Generic;public static class Program{ static void Main( string[] args ) {原创 2020-12-08 16:54:58 · 695 阅读 · 0 评论 -
LINQ之Aggregate
返回LINQ大全首页Aggregate()可以对数组或列表中的每个元素执行聚合处理。MSDN在以下代码中,通过lambda表达式描述了将数组中所有元素相加而获得的总值的过程。using System.Linq;using System.Collections;using System.Collections.Generic;public static class Program{ static void Main( string[] args ) { in原创 2020-12-08 14:35:35 · 1381 阅读 · 0 评论 -
LINQ之Sum
返回LINQ大全首页Sum()MSDNSum()易于使用。例如int类型和float类型可以直接通过调用Sum()来获得总值。public static class Program{ static void Main( string[] args ) { int[] intNumbers = new int[] { 1, 4, 3, 4 }; float[] floatNumbers = new float原创 2020-11-04 21:02:34 · 3503 阅读 · 0 评论 -
LINQ之Average
返回LINQ大全首页Average()通过Average()您可以找到序列(例如数组或列表)中元素的平均值。MSDN诸如int类型或float类型等使用Max()求最大值非常简单。public static decimal Min( this IEnumerable<decimal> source );public static double Min( this IEnumerable<double> source );public static float Min(原创 2020-11-04 19:27:58 · 659 阅读 · 0 评论 -
C#判断中文和英文字符长度
string如果直接获取Length是无法区分中英文还有字符之间的区别。以下方法可以识别中文长度为2,英文字符为1。class Program { static void Main(string[] args) { //长度为5 GetStrLength("嘻嘻x"); Console.ReadKey(); } //获取长度方法 private static原创 2020-07-02 10:29:19 · 2173 阅读 · 0 评论 -
LINQ之Min
返回LINQ大全首页Min()使用Min()以获得序列中最小的元素。MSDN诸如int类型或float类型等使用Max()求最大值非常简单。public static decimal Min( this IEnumerable<decimal> source );public static double Min( this IEnumerable<double> source );public static float Min( this IEnumerable<原创 2020-05-29 22:12:23 · 627 阅读 · 0 评论 -
LINQ之Max
返回LINQ大全首页Max()代码示例:使用Max()以获得序列中最大的元素。MSDN诸如int类型或float类型等使用Max()求最大值非常简单。public static decimal Max( this IEnumerable<decimal> source );public static double Max( this IEnumerable<double> source );public static float Max( this IEnumerab原创 2020-05-19 14:26:22 · 1549 阅读 · 0 评论 -
LINQ之Count,LongCount
返回LINQ大全首页目录Count()LongCount()Count()使用Count()可以获取序列的长度,代替Length,Count。public static int Count<TSource>( this IEnumerable<TSource> source );MSDN代码示例:public static class Program{ static void Main( string[] args ) { int[]原创 2020-05-15 11:54:01 · 993 阅读 · 0 评论 -
LINQ之SequenceEqual
返回LINQ大全首页SequenceEqual()SequenceEqual()用于判断两个序列中的内容是否一致。public static bool SequenceEqual<TSource>( this IEnumerable<TSource> first, IEnumerable<TSource> second );MSDN下面示例用来比较数组和list中的内容是否一致。要注意值类型和引用类型的使用区别。下面使用的是值类型。代码示例:public原创 2020-05-12 21:19:35 · 1519 阅读 · 0 评论 -
LINQ之OfType
返回LINQ大全首页OfType()OfType()可以用于筛选指定类型(及其子类)。MSDN下面代码示例中使用的类结构如下图所示。代码示例:public static class Program{ private class BaseClass { public virtual string Type { get { return "-"; } } public string Name { get; set原创 2020-05-12 11:34:20 · 633 阅读 · 0 评论 -
使用C#判断字符串中是否包含中文字符
使用正则表达式可以快速的判断字符串中是否有中文。代码示例: string test1 = "asdasdas121312/*-"; string test2 = "阿三大苏打"; string test3 = "asda阿三大苏打__132"; private void Start() { Debug.Log(HasChinese(test1)); Debug.Log(HasChinese(test2)); Debu原创 2020-05-09 14:21:18 · 8507 阅读 · 1 评论 -
LINQ之Contains
返回LINQ大全首页Contains()Contains()可以用来判断序列中是否存在指定的元素。MSDNpublic static bool Contains<TSource>( this IEnumerable<TSource> source, TSource value );但是要注意此行为会根据元素是值类型还是引用类型而略有变化。代码示例:public...原创 2020-04-21 14:33:04 · 4241 阅读 · 0 评论 -
LINQ之Any
返回LINQ大全首页Any()Any()可以判断序列是否为空。MSDNpublic static bool Any<TSource>( this IEnumerable<TSource> source );代码示例:public static class Program{ static void Main( string[] args ) {...原创 2020-04-20 21:34:53 · 726 阅读 · 0 评论 -
LINQ之All
返回LINQ大全首页All()使用All()可以判断序列中的所有元素(例如数组或列表)是否满足指定条件。MSDNpublic static bool All<TSource>( this IEnumerable<TSource> source, Func<TSource, bool> predicate );以下代码使用一个lambda表达式来描述要检...原创 2020-04-20 21:15:16 · 678 阅读 · 0 评论 -
LINQ之Where
Where()使用Where()可以获取序列中满足指定条件的所有元素。MSDNpublic static IEnumerable<TSource> Where<TSource>( this IEnumerable<TSource> source, Func<TSource, bool> predicate );代码示例:public sta...原创 2020-04-17 17:36:45 · 1121 阅读 · 0 评论 -
LINQ之DefaultIfEmpty
DefaultIfEmpty()如果使用DefaultIfEmpty()的数组或列表为空,则返回元素类型的默认值。MSDNpublic static IEnumerable<TSource> DefaultIfEmpty<TSource>( this IEnumerable<TSource> source );代码示例:public static cl...原创 2020-04-17 16:46:04 · 4560 阅读 · 1 评论 -
LINQ之Take, TakeWhile
目录Take()Take()Take()可以获取序列的指定部分。具体使用请看下面案例。MSDNpublic static IEnumerable<TSource> Take<TSource>( this IEnumerable<TSource> source, int count );代码示例:public static class Program...原创 2020-04-16 20:08:27 · 1543 阅读 · 0 评论 -
LINQ之Skip,SkipWhile
目录Skip()Skip()如果我不需要此数组的第一个元素,那么有没有办法只删除第一个元素并得到其余的元素?Skip()就是为了解决这种情况而存在的。如果您从头开始指定不需要的元素数目,则将返回该数目之后的元素序列。MSDNpublic static IEnumerable<TSource> Skip<TSource>( this IEnumerable<...原创 2020-04-14 22:16:15 · 1950 阅读 · 0 评论 -
LINQ之ElementAt,ElementAtOrDefault
目录ElementAt()ElementAtOrDefault()ElementAt()对于数组和List类,[]提供了索引器,因此很容易在指定的索引处获取元素。除了用[]访问以外,我们还可以用ElementAt()获取元素。并且ElementAt()可以获取所有继承IEnumerable<T>类的元素。代码示例:public static class Program{ /...原创 2020-04-14 18:57:30 · 1188 阅读 · 0 评论 -
LINQ之Single,SingleOrDefault
目录Single()SingleOrDefault()Single()Single()的用法是获取唯一的元素。public static TSource Single<TSource>( this IEnumerable<TSource> source );MSDN听起来可能有点抽象,请继续往下看。代码示例:public static class Progra...原创 2020-04-13 19:22:29 · 1637 阅读 · 0 评论 -
LINQ之Last,LastOrDefault
目录Last()Last()Last()可以获取序列的最后一个元素,例如数组或列表。类似List[List.Count - 1]MSDN代码示例:public static class Program{ static void Main( string[] args ) { int[] numbers = new int[] { 1, 2, 3, 5, ...原创 2020-04-11 21:21:27 · 1047 阅读 · 0 评论 -
LINQ之First,FirstOrDefault
目录First()FirstOrDefault()First()First()基本用法相当于列表[0]。public static TSource First <TSource>(此IEnumerable <TSource>源);MSDN代码示例:public static class Program{ static void Main( string...原创 2020-04-11 20:48:12 · 2245 阅读 · 0 评论 -
使用C#读写txt文本
创建并写入txt: string text = "Test"; StreamWriter sw; FileInfo fi = new FileInfo(Application.dataPath + "//" + "t.txt"); sw = fi.CreateText(); sw.WriteLine(text);//直...原创 2020-03-25 17:33:27 · 311 阅读 · 0 评论 -
Unity使用Excel.dll对Excel读取,使用EPPlus实现对Excel写入
前言读写Excel是游戏开发中经常用到的技术,程序可以使用策划、文案写好的Excel对数据进行修改,达到简易配合的目的。1.读取Excel首先把Excel.dll导入Unity项目中,这个在网上搜索就能下载到。代码示例: FileStream stream = File.Open(Application.dataPath + "/Excels/鬼船新攻略文字.xlsx", FileMo...原创 2019-12-25 14:49:34 · 2510 阅读 · 0 评论 -
C#总结笔记
前言把菜鸟教程C#部分的知识点记录下来,以供日后复习。菜鸟教程可空类型总结:声明类型后面加?可以让不能为空的值为空。??和?.使用方法看代码示例。可空类型示例代码: int? a; a = null; b = a??1;//如果a为空则返回1 //如果testClass为空则不会调用DoSomething方法 ...原创 2019-12-11 18:52:04 · 278 阅读 · 0 评论 -
C#中删除指定路径下所有内容和把文件或文件夹重命名
//判断路径或文件夹是否存在 if (Directory.Exists(path)) { //获取路径下文件夹信息,返回所有文件夹的路径 var dirs = Directory.GetDirectories(path); //遍历所有文件夹路径 for ...原创 2019-08-01 12:59:15 · 2037 阅读 · 0 评论