随笔分类 - C#
摘要:在C#编程中通常会碰到许多重复劳动的情况,而面向对象编程的原则就是消除这些重复劳动,增加代码重用性。我们一般都会对其封装成方法,然后调用,但还是会碰到一些看似不得已的重复劳动的情况。比如在平时写代码时候,按照规范,有些代码需要加try-catch,来捕捉异常,就像这样: public class F
阅读全文
摘要:先定义一个类: 然后调用: 输出: 这样非常有利于后期项目维护,比如我们在使用MVC开发时候,后端返回到某个视图,我们平时喜欢写字符串的形式,如果项目越来越大,后期突然哪个控制器或者动作不用了,使用字符串的形式维护起来就非常麻烦,用nameof就可以很好的解决,最重要的是不会影响性能!
阅读全文
摘要:value其实就是C#类里边的属性,比如,我们有个类叫Student,cs,里边有int类型名为“ID”的属性,我们在构造函数里接收传入的值然后为这个属性赋值,然后实例化类,传入一个1,这是value就是1;如下: public class Student { public Student(int
阅读全文
摘要:抛出异常 异常可以被运行时或者用户抛出。比如: 直接传入一个null,然后在try里调用方法,catch捕获异常。这就相当于用户抛出一个异常。 在C#7之前,throw是个语句,而现在它可以作为exception-bodied functions里的一个表达式: 也可以出现在三元表达式里: 重新抛出
阅读全文
摘要:Try语句 1:try 语句指定了用来进行错误处理或清理的一个代码块。 2:try 语句块后边必须紧接着一个 catch 块或者是一个 finally 块,或者两者都有。 3:当 try 块里发生错逞的时候, catch 块就会被执行。 4:finally 块会在执行完 try 块之后执行,如果 c
阅读全文
摘要:实例方法目标和静态方法目标 实例方法就是通过new一个对象,调用里边的方法,静态方法就是直接通过类名调用,这都是C#基础知识。 1:当一个实例方法被赋值给委托对象的时候,这个委托对象不仅要保留着对方法的引用,还要保留着方法所属实例的引用。 2:System.Delegate的Target属性就代表着
阅读全文
摘要:概念 • 关于委托的概念呢,在网上看了好多,刚开始很懵,说法太多太乱,可能要去理解这些抽象的东西时候,需要一个接收过程吧,需要一定的时间去消化这些抽象知识。 • 今天在这里我按我自己的理解去总结一下关于委托的相关基础知识。希望对大家有所帮助,大家也不要把委托想成一个多么复杂的概念,其实如果光理解概念
阅读全文
摘要:上一篇初步学习了一下C#7.0的新功能“元组”,但是用的代码格式和旧版本的没啥差别(数据获取用的还是老一套,通过item1,item2,item3........不能忍!!!),只不过多了一些功能,在原先的基础上做了一些优化,今天继续学习,代码格式将使用最新语法! 基础语法 ·元组功能在C#7.0和
阅读全文
摘要:重构的好处不多叙述了,大家都明白,好的代码不仅可读性强,重用性强,而且可维护性高。书上论述的非常详细,我挑选几种最常用的重构方法,并用C#语言做示例,总结一下,学习一下! 1:提取函数 原始代码为: static void Main(string[] args) { User user = new
阅读全文
摘要:ValueTuple学习 ValueTuple是C# 7.0的新特性之一,.Net Framework 4.7以上版本可用。 值元组也是一种数据结构,用于表示特定数量和元素序列,但是是和元组类不一样的,主要区别如下: 值元组是结构,是值类型,不是类,而元组(Tuple)是类,引用类型; 值元组元素是
阅读全文
摘要:在字符串前加$相当于对string.format()的简化 string name = "张三"; string add = "河南郑州"; Console.WriteLine("你好我是{0},我来自{1}", name, add); Console.WriteLine($"你好我是{name},
阅读全文
摘要:一、Virtual方法(虚方法) 1:virtual 关键字用于在基类(父类)中修饰方法。virtual的使用会有两种情况: (1):在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法,比如在一个Book类中有一个虚方法Init
阅读全文
摘要:static void Main(string[] args) { DateTime now = DateTime.Now; DayOfWeek dayOfWeek = now.DayOfWeek; int daysWeek = dayOfWeek == DayOfWeek.Sunday ? 7 :
阅读全文
摘要:添加一个类: public static class PredicateExtensions { public static Expression<Func<T, bool>> True<T>() { return f => true; } public static Expression<Func
阅读全文
摘要:一:理解Dictionary 1:在C#编程中,Dictionary的用途很广,很实用,它翻译成中文的意思是‘字典’,功能和现实中的字典功能很相似,他的结构是这样的:Dictionary<[key], [value]>,存数据的时候是以键值对的形式存的,取数据的时候也是通过键,找到对应的值!存取都很
阅读全文
摘要:1:DataSet转成DataTable DataSet ds; //ds已经读取到了数据 DataTable dt1 = ds.Tables[0]; //每次能读取一张表 2:DataTable转成DataSet DataSet ds = new DataSet(); DataTable dt;
阅读全文
摘要:/// <summary> /// List转DataTable /// </summary> /// <typeparam name="T"></typeparam> /// <param name="data"></param> /// <returns></returns> public st
阅读全文
摘要:static void Main(string[] args) { string date1 = "2019-07-26"; string date2 = "2019-07-27"; CompanyDate(date1, date2); string date...
阅读全文
摘要:控制器代码: View视图页代码: 完美解决!
阅读全文
摘要:总结一下C#对字符串的常用操作方式! 新建控制台应用程序: static void Main(string[] args) { string s = "ABCD"; //1:字符就像数组一样,可以通过下标访问 Console.WriteLine(s[0]); // 输出"A"; Console.Wr
阅读全文

浙公网安备 33010602011771号