
CSharp学习笔记
C#学习
爱吃柚子的梨
自勉联:
有志者事竟成破釜沉舟百二秦关终属楚
苦心人天不负卧薪尝胆三千越甲可吞吴
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【OOP】类中定义多个构造器(Python vs C#)
前言对于一个书籍类,有两个属性,分别是name和id。需求如下:不给构造器传任何参数直接创建类的实例,默认书籍名称是"哈利波特",id为1指定参数创建类的实例,如"杀死一只知更鸟",id为2Pythonclass Book: def __init__(self, _name="哈利波特", _id=1): self.name = _name self.id = _id def print_info(self): print(.原创 2020-09-30 16:34:06 · 339 阅读 · 0 评论 -
【ASP.NET Core开发】数据库连接配置—使用Secret Manager tool
前言本文介绍如何使用Secret Manager tool保存数据库连接字符串中的密码,如何在ASP.NET Core中使用数据库连接池配置数据库,最后以查询MySQL中World数据库中城市信息为例构建Web API作为演示示例。Secret Manager将用户机密数据保存到secrets.json文件中,开发人员就不必将机密数据存放到配置文件中了(如appsettings.json)。设置数据库连接字符串在appsettings.json中设置目标数据库的连接字符串,无需带密码,以My.原创 2020-09-23 18:15:10 · 2297 阅读 · 0 评论 -
EntityFramework性能优化建议(Performance tips)
目录Change TrackingEager LoadingLazy Loading在代码中使用自己写的SQL语句SQL rawSQL interpolateddatabase context pooling参考文献Change TrackingEF Core查询数据库的时候,在内存中存储了结果数据集的闪照,任何对代码中实体的改变都首先与内存中的数据集对比,然后才会被写入数据库中。在只读的场景中,不需要将数据写回数据库,因此不需要将数据集存到内存中,此时可以放弃使用该策略以节省系统资源。如何做呢?只需原创 2020-09-13 12:02:52 · 766 阅读 · 0 评论 -
.NET CLR C# Nuget含义探索
Scott Hanselman的解释:原创 2020-09-12 17:08:40 · 285 阅读 · 0 评论 -
依赖反转与单元测试(xunit)
依赖反转单元测试前言单元测试其实就是依赖反转的一个具体的实现案例。依赖反转首先让我们以电扇生产为例子进行演示,因为电扇依赖于电源,所以我们先定义一个电源类: public class PowerSupply { private int _power; public int GetPower() { return 100; } }接下来就可以生产电扇了,借助定义一个电扇类:原创 2020-09-12 16:59:58 · 413 阅读 · 0 评论 -
C# Interface理解与说明
为什么需要引入接口 且看下面这个例子,如果没有接口则会造成大量的代码冗余using System;using System.Collections;namespace ConsoleApp{ class Program { static void Main(string[] args) { int[] array = new int[] { 11, 22, 33, 44, 55 }; ArrayLis原创 2020-09-10 20:59:38 · 255 阅读 · 0 评论 -
Python、C#实现简单选择排序
C#实现选择排序有多种方式,这里采用一种类似C语言风格的方式实现选择排序,后期会更新另一种方式的实现。类C代码:using System;namespace ConsoleApp_algorithm{ class Program { static void Main(string[] args) { int[] arr = new[] {3, 2, 1, 4, 5}; // 待排序数组原创 2020-08-23 14:46:44 · 270 阅读 · 0 评论 -
C# base 关键字(父类构造器的调用)
代码简述using System;using System.Collections.Generic;using System.Linq;namespace HelloRider{ class Program { static void Main(string[] args) { DerivedClass md = new DerivedClass(); DerivedClass md2 = new原创 2020-08-22 21:46:35 · 1027 阅读 · 0 评论 -
【C# protected internal】访问级别控制解释
前言 本文会先分别解释protected和internal的作用,在解释protected internal联合修饰符的作用,因为它们联合在一起是或的含义。protected英文解释:The type or member can be accessed only by code in the same class, or in a class that is derived from that class.说明: 在继承链上的类里面都可以使用,但出了类,原创 2020-08-20 19:59:44 · 3517 阅读 · 1 评论 -
C#实现DFS(深度优先遍历)的三种方式
视频教程搜索:刘铁锰老师的对答如刘 (006) ——有一个美丽的传说。(强烈推荐刘铁锰老师的C#教程)铁锰老师这节课的简介:有一个美丽的传说:所有递归都能用循环代替——DFS、Backtracking也不例外……真的是这样吗?今天这期《对答如刘》就为您揭开迷底!除此之外还向您介绍一款功能强大的、跨平台的C#开发工具,多种功能秒杀Visual Studio!正文using System;using System.Collections.Generic;using System.Lin原创 2020-08-15 16:47:39 · 2265 阅读 · 0 评论 -
Form的Show()和ShowDialog()方法区别
使用Show()时,不同窗体不会影响、使用ShowDialog()时,打开一个窗体之后必须关掉才能操作另一个窗体。原创 2020-05-02 14:02:34 · 1220 阅读 · 0 评论 -
使用Bitmap(Type type, string resource)或者Cursor(System.Type type, string resource)引发未将对象引用到实例等异常信息原因
按以下几步检查:1)是否将资源文件设置为嵌入类型2)是否在同一目录下原创 2020-04-29 00:03:29 · 345 阅读 · 0 评论 -
C#编程:元素法求解定积分/定积分定义求解定积分
比如求解\[\int_0^\pi {x{{\sin }^3}x = \frac{2}{3}} \pi \approx {\rm{2}}{\rm{.0943951}}\]代码:注意,这里用了一个委托类型的形参f,以便对不同的函数进行求解,n为可选参数(即具有默认值的参数)。using System;namespace DefiniteIntegral{ class P...原创 2020-01-31 18:31:49 · 2574 阅读 · 0 评论 -
C#中利用as进行接口之间的类型转换
原理:当使用不同的接口的时候,就限制调用不同的方法,这也是为了符合接口隔离原则。由于Dog类实现了两个接口的方法,所以无论使用哪种接口都可以调用接口里面的方法,所以进行转换也就说得通了。其次,这里特地说明一下,接口类型的变量都是引用变量,要与实例区分开来(new Dog()就是创建了一个实例,而实例的地址存进了eat变量中)。引用变量和实例的类型不同,这也就有了多态。代码实例:...原创 2020-01-30 11:56:53 · 2273 阅读 · 0 评论 -
C/C#关于函数调用的一些心得
C首先,存储函数的地址的变量在形参中是一个指针变量。如下,我声明了个函数:void Seperate(int A[], int m, int B[][maxSize],int M,int N);//从A中取出连续M个以上大于N的数据段放入B当我想用函数指针在另一个函数中调用这个函数的时候,传进去的应该是Seperate这个函数的地址,而不是完整的函数。错误例子: v...原创 2020-01-22 10:59:58 · 734 阅读 · 0 评论 -
C#:二进制向左或者向右补齐0的方法、
原创 2020-01-16 09:55:45 · 1723 阅读 · 0 评论 -
利用Performance Monitor 性能监视器检查一个程序进程的内存使用
win+R 打开cmd->输入perfmon点击确定,即可显示想要观测的进程的内存消耗。原创 2020-01-12 21:52:36 · 2173 阅读 · 0 评论 -
DispatcherTimer的简单使用
【窗口设计】WPF<Window x:Class="TimerClock.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" ...原创 2020-01-11 15:25:41 · 2397 阅读 · 0 评论 -
视频笔记
黑盒引用:加载别人写好的类库,没有代码原创 2020-01-04 15:56:10 · 315 阅读 · 0 评论 -
名词解释
COM(Component Object Model,组件对象模型)ASP(Active Server Pages 动态服务器页面)用于网页开发IL(Intermediate Language 中间语言)XML (Extensible Markup Language 可扩展标记语言)Runtime (运行时)Runtime is a general term that refe...原创 2020-01-02 20:37:52 · 180 阅读 · 0 评论 -
对于接口的理解
AE官方原文:Casting in C#In C#, the best method for casting between interfaces is to use the as operator. Using the as operator is a better coding strategy than a straight cast, because it yields a nul...原创 2020-01-01 22:32:03 · 453 阅读 · 0 评论 -
C#知识识记
string类型1. string与引用类型在常见的操作上有一些区别:string s1 = "a string";string s2 = s1;修改s1,就会创建一个全新的string对象,从而s2不会发生变化。2. 双引号" ..."中的内容称为字符串字面量,在"..."前面加上@,那么"..."中的内容都会被看作是原来的含义,例如:string filepath =...原创 2019-12-31 12:10:14 · 492 阅读 · 0 评论