【C#基础之】教程文章相关的互联网学习教程文章

c#基础-18、类与结构体的区别【代码】【图】

最大区别为结构体为值类型存在栈上,类为引用类型存在堆上。 细节区别: 1.结构体不具有多态、继承特性,只有封装,所以不能用protected修饰符,而类可以 2.结构体变量在申明时不能初始化,而类可以(后面说明) 3.结构体不能申明无参构造函数,而类可以 4.结构体申明有参构造函数后,不会覆盖无参构造函数,而类会覆盖 5.结构体不能申明析构函数,而类可以 6.结构体要在构造函数中初始化所有成员变量,而类不用 7.结构体不能在内部...

C# 基础连接已经关闭: 接收时发生错误问题解决

问题描述: 基础连接已经关闭: 接收时发生错误。 问题分析: 1、Framework调用WCF接口,WCF将数据进行序列化然后传输给Framework时,数据中包含未初始化的DateTime类型的数据导致序列化失败,无法将数据传输给Framework。 这里的序列化就是将数据转换成json格式的字符串。 解决办法: (1)给数据中DateTime类型的变量赋值,使数据能够成功进行序列化。 (2)不通过WCF接口直接使用WCF的dll程序集调用,这样获取的数据就不需要进行...

c#基础-17.StringBuilder【代码】【图】

StringBuilder 为什么用StringBulder?StringBuider的使用string与StringBuilder的区别常用函数了解string,请点击这里 为什么用StringBulder? 例子: string a = "str_1"; a = "str_2";在内存中创建"str_1"和"str_2"两个字符串,但只有"str_2"在被使用,"str_1"不会被修改或消失,这样就浪费了内存资源,而且字符串一旦创建就不可修改大小,每次使用System.String类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要...

C#基础 - Type类型

介绍 C#中通过Type类可以访问任意数据类型信息。 system.Type类以前把Type看作一个类,但它实际上是一个抽象的基类。 只要实例化了一个Type对象,实际上就实例化了Typc的一个派生类。 尽管一般情况下派生类只提供各种Type方法和属性的不同重载,但是这些方法和属性返回对应数据类型的正确数据,Type有与每种数据类型对应的派生类。 Type是许多反射功能的入口 。注意,可用的属性都是只读的:可以使用Type确定数据的类型,但不能使用它修改...

C#基础入门第七天(函数)【代码】

1、我们在Main()函数中,调用Test()函数,我们管Main()函数称之为调用者,管Test()函数称之为被调用者。如果被调用者想要得到调用者的值:1)、传递参数。2)、使用静态字段来模拟全局变量。(多个方法都需要使用同一个变量)语法:在类下面public static int _number = 10;如果调用者想要得到被调用者的值:1)、返回值 class Program {////使用静态字段模拟全局变量//public static int _number = 3;static void Main(string[] args...

(精华)2020年8月11日 C#基础知识点 匿名类的使用(object,var,dynamic)【代码】

(精华)2020年8月11日 C#基础知识点 匿名类的使用(object,var,dynamic) #region 3.0出了个匿名类 {<!-- -->Console.WriteLine("*****************匿名类**************");Student student = new Student(){<!-- -->Id = 1,Name = "Richard",Age = 25,ClassId = 2};student.Study();//-------------------------匿名类的使用--------------------------object model = new//.net 3.0 {<!-- -->Id = 2,Name = "undefined",Age = 2...

(精华)2020年8月11日 C#基础知识点 yield迭代器的使用【代码】

(精华)2020年8月11日 C#基础知识点 yield迭代器的使用 基本使用 /// <summary>/// 含有yield的函数说明它是一个生成器,而不是普通的函数。当程序运行到yield这一行时,该函数会返回值,并保存当前域的所有变量状态;/// 等到该函数下一次被调用时,会从上一次中断的地方开始执行,一直遇到下一个yield, 程序返回值, 并在此保存当前状态; 如此反复,直到函数正常执行完成。/// 迭代器模式是设计模式中行为模式(behavioral pattern)...

(精华)2020年8月11日 C#基础知识点 winform底层原理的讲解(发布订阅)实现控件【代码】

(精华)2020年8月11日 C#基础知识点 winform底层原理的讲解(发布订阅)实现控件 触发的事件函数 public static void Publisher(){<!-- -->Phone phone = new Phone(){<!-- -->Id = 123,Name = "华为P9",Price = 2499};// 执行订阅Subscriber();//价格变动会触发订阅者里的函数phone.Price = 500;} 发布者 /// <summary>/// 事件的发布者,发布事件并且在满足条件的情况下,触发事件/// </summary>public class Phone{<!-- -->publ...

(精华)2020年8月12日 C#基础知识点 序列化反序列化(XML,Json,二进制,soap)【代码】

(精华)2020年8月12日 C#基础知识点 序列化反序列化(XML,Json,二进制,soap) public class SerializeHelper{<!-- -->/// <summary>/// 二进制序列化器/// </summary>public static void BinarySerialize(){<!-- -->//使用二进制序列化对象string fileName = Path.Combine(Constant.SerializeDataPath, @"BinarySerialize.txt");//文件名称与路径using (Stream fStream = new FileStream(fileName, FileMode.Create, FileAccess.Re...

(精华)2020年8月12日 C#基础知识点 图片相关操作【代码】

(精华)2020年8月12日 C#基础知识点 图片相关操作 /// <summary>/// 图片类/// </summary>public class ImageHelper{<!-- -->private static string ImagePath = ConfigurationManager.AppSettings["ImagePath"];private static string VerifyPath = ConfigurationManager.AppSettings["ImagePath"];//绘图的原理很简单:Bitmap就像一张画布,Graphics如同画图的手,把Pen或Brush等绘图对象画在Bitmap这张画布上/// <summary>/// 画...

c#基础-8.索引器【代码】

索引器的使用示例如下所示: class Person{private string name;private int number;//这里要分配空间,否则在索引器里f将不会完成对象的实例化private Person[] f=new Person[5];public Person(){}public Person(string name,int number){this.name = name;this.number = number;}public Person this[int index]{get{//Console.WriteLine("0");return f[index];}set{//Console.WriteLine("1");f[index] = value;}}static void Main...

C#基础篇——委托【代码】【图】

前言 在本章中,主要是借机vb.net教程这个C#基础篇的系列整理过去的学习笔记、归纳总结并更加理解透彻。 在.Net开发中,我们经常会遇到并使用过委托,如果能灵活的掌握并加以使用会使你在编程中游刃有余,然后对于很多接触C#时间 c#教程不长的开发者而言,较好的理解委托和事件并不容易。 本节主要是讲述对委托的定义、委托的使用、多播委托、泛型委托、匿名方法、Func和Action委托、Lambda委托,并对它们进行讨论。 说明 简单说它...

(精华)2020年8月15日 C#基础知识点 Unity容器的底层的实现方式【代码】

(精华)2020年8月15日 C#基础知识点 Unity容器的底层的实现方式 public interface IXTContainer{<!-- -->void RegisterType<TFrom, TTo>(LifeTimeType lifeTimeType = LifeTimeType.Transient);T Resolve<T>();}/// <summary>/// 容器--工厂/// </summary>public class XTContainer : IXTContainer{<!-- -->private Dictionary<string, RegisterInfo> XTContainerDictionary = new Dictionary<string, RegisterInfo>();/// <summary...

(精华)2020年8月14日 C#基础知识点 QuartZ任务调度的使用【代码】

(精华)2020年8月14日 C#基础知识点 QuartZ任务调度的使用 第一部分:基础的使用Nuget引入程序包 QuartZ1. 三大核心对象 IScheduler:时间轴 单元 盒子 在这里进行任务配置 IJobDetail:描述具体做什么事情,定时任务执行的动作 context.MergedJobDataMap 会去掉重复 以后者为准 获取参数严格区分大小写 链式传参: ## 基础代码如下1:执行代码 #region Scheduler StdSchedulerFactory factory = new StdSchedulerFactory(); ISched...

(精华)2020年8月13日 C#基础知识点 windform实现双色球【代码】

(精华)2020年8月13日 C#基础知识点 windform实现双色球 public partial class frmSSQ : Form{<!-- -->public frmSSQ(){<!-- -->InitializeComponent();this.btnStart.Enabled = true;this.btnStop.Enabled = false;}#region Data /// <summary>/// 红球集合 其实可以写入配置文件/// </summary>private string[] RedNums ={<!-- -->"01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","...