![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c#语言
文章平均质量分 76
本专栏用来记录学习和开发中,使用到的c#知识和经验
yang28242687
这个作者很懒,什么都没留下…
展开
-
c# --- 结构体(struct)
在 C# 中,结构体是值类型数据结构。它使得一个单一变量可以存储各种数据类型的相关数据。struct关键字用于创建结构体。结构体是用来代表一个记录。假设您想跟踪图书馆中书的动态。您可能想跟踪每本书的以下属性:Title Author Subject Book ID1. 定义结构体为了定义一个结构体,您必须使用 struct 语句。struct 语句为程序定义了一个带有多个成员的新的数据类型。例如,您可以按照如下的方式声明 Book 结构:struct Books{ ...原创 2021-11-14 16:18:28 · 5320 阅读 · 0 评论 -
c# --- 方法重载
1.首先解释一下什么是方法重载?方法重载是指在同一个类中方法同名,参数不同,调用时根据实参的形式,选择与他匹配的方法执行操作的一种技术。这里所说的参数不同是指以下几种情况:① 参数的类型不同② 参数的个数不同③ 参数的个数相同时他们的先后顺序不同注意:系统会认为是同一个方法的两种情况,这样的两个方法不可以在同一个类里,否则系统会报错。⑴返回类型不同,方法名和参数个数、顺序、类型都相同的两个方法⑵返回类型相同,方法名和参数的个数、顺序、类型都相同的两个方法,但是参数的名字...原创 2021-11-12 23:01:19 · 1034 阅读 · 0 评论 -
c# --- params关键字 参数数组 可变长参数
params 关键字, params主要的用处是在给函数传参数的时候用,就是当函数的参数不固定的时候。 在方法声明中的 params 关键字之后必须是数组,而且是在参数列表的最后,并且在方法声明中只允许一个 params 关键字。 关于参数数组,需掌握以下几点。1、若形参表中含一个参数数组,则该参数数组必须位于形参列表的最后。class Program { static void Speak(int str1,params int[] array) ...原创 2021-11-12 11:12:17 · 708 阅读 · 0 评论 -
c# --- 静态成员和实例成员
静态成员也称为共享成员,例如静态属性 静态字段 静态方法;静态成员可以在类的实例之间共享。静态类中只能有静态成员,不能有实例成员,因为静态类不能进行实例化;在非静态类中 即可以有静态成员 也可以有非静态成员;只要是静态成员 属性 字段 方法,都需要用类名去调用;静态成员和实例成员的区别:静态成员需要通过static修饰,非静态成员不需要通过static修饰;静态成员属于类,可以直接通过“类名.静态成员”的方式访问;非静态成员,必须实例化对象后,通过对象.实例成员来访问; 当原创 2021-11-12 10:35:49 · 423 阅读 · 0 评论 -
c# ---ref 与 out 参数传递方式
经常有人把按引用传递和引用类型混为一谈,其实是对数据存储的原理不清楚1.C#中参数的传递方式可以分为两类,按值传递和按引用传递。如果再根据参数的类型进行细分,大致可以分为如下四种:值类型的按值传递 按值传递时,传递过去的是该值类型实例的一个拷贝。 引用类型的按值传递 按值传递时,传递过去的是该引用类型实例的引用的一个拷贝 值类型的按引用传递 按引用传递的时候是不存在拷贝这步操作的,众所周知,值类型的实例是分配在栈上的,所以在按引用传递值类型的时候,其实是把该实例在栈上..原创 2021-11-11 23:20:27 · 1860 阅读 · 0 评论 -
c#---构造函数
目录构造函数语法使用构造函数实例构造函数无参数构造函数私有构造函数示例静态构造函数备注用法示例每当创建类或结构时,将会调用其构造函数。 类或结构可能具有采用不同参数的多个构造函数。 使用构造函数,程序员能够设置默认值、限制实例化,并编写灵活易读的代码。构造函数语法构造函数是一种方法,其名称与其类型的名称相同。 其方法签名仅包含方法名称和其参数列表;它不包含返回类型。 以下示例演示一个名为Person的类的构造函数。...原创 2021-11-02 21:18:43 · 4116 阅读 · 0 评论 -
c#---方法
需要知道:类和方法的关系方法和参数修饰符 自定义方法可以有或没有参数,也可以有或没有返回值。可以被各种关键字(static、virtual、public、new等)修饰以限制其行为。 C#参数修饰符 无 如果一个参数没有用参数修饰符标记,则认为它将按值传递,这意味着被调用的方法收到原始数据的一份副本。 out 输出参数由被调用的方法赋值,因此它按引用传递。...原创 2021-11-02 20:20:49 · 94 阅读 · 0 评论 -
c#---call stack(调用栈)
Call stack(通常译作“调用栈”)也是计算机系统中的一个重要概念。在介绍 call stack 之前,我们首先来回顾一下 procedure 是什么。Call Stack(调用栈)是什么? - 知乎今天我们来讲一下 call stack 是什么。相信有了上一篇文章对 virtual memory 的介绍之后,同学们理解起 call stack 来会相对容易一些。 汤洋:Virtual Memory(虚拟内存)是什么?Call Stack 是什么?Call stack(…https://zhu.转载 2021-11-02 19:08:52 · 1190 阅读 · 0 评论 -
c#---托管代码与非托管代码
1.托管代码(managed code) 托管代码(Managed Code)就是中间语言(IL)代码,在公共语言运行库(CLR)中运行。编译器把代码编译成中间语言,当方法被调用时,CLR把具体的方法编译成适合本地计算机运行的机器码,并且将编译好的机器码缓存起来,以备下次调用使用。随着程序集的运行,CLR提供各种服务:内存管理,安全管理,线程管理,垃圾回收,类型检查等等。 托管代码是一microsoft的中间语言(IL),他主要的作用是在.NET FRAMEWORK的公共语言运行库(CLR.转载 2021-10-30 12:31:34 · 257 阅读 · 0 评论 -
c#---内存管理
前言:对于很多的C#程序员来说,经常会很少去关注其内存的释放,他们认为C#带有强大的垃圾回收机制,所有不愿意去考虑这方面的事情,其实不尽然,很多时候我们都需要考虑C#内存的管理问题,否则会很容易造成内存的泄露问题。尽管.NET运行库负责处理大部分内存管理工作,但C#程序员仍然必须理解内存管理的工作原理,了解如何高效地处理非托管的资源,才能在非常注重性能的系统中高效地处理内存。C#编程的一个优点就是程序员不必担心具体的内存管理,垃圾回收器会自动处理所有的内存清理工作。用户可以得到近乎像C++语言那样.翻译 2021-10-30 12:27:05 · 2221 阅读 · 0 评论 -
c#----类和对象
1.1 类和对象类(class)是最基础的c#类型。类是一个数据结构,将状态(字段)和操作(方法和其它函数成员)组合在一个单元中。类为动态创建的类实例(instance)提供了定义,实例也称对象(object).类支持继承(inheritance)和多态性(polymorphism),这是派生类(derived class)可用来扩展和专用化基类(base class)的机制。使用类声明可以创建新的类。类声明以一个声明头开始,其组成方式如下:先指定类的属性和修饰符,然后是类的名称,接着是基类以及该类原创 2021-10-09 19:08:35 · 1744 阅读 · 0 评论 -
c#-----Hello world中的类和命名空间
using System;class Hello{ static void Main() { Console.WriteLine("Hello, World"); }}使用编程语言的开始一般都会有Hello world 程序,作为第一个程序。“Hello world”程序代码开始于一个引用System命名空间的一个using 指令命名空间:是一种组织c#程序和库的分层方法。命名空间包含类型和其它命名空间。例如,System命名空间包含许多..原创 2021-10-09 13:54:57 · 174 阅读 · 0 评论 -
c#----语言介绍
1.什么是c#语言?C#(读作“See Sharp”)是一种面向对象且类型安全的编程语言。 用 C# 可以开发出在 .NET 上运行的多种安全可靠的应用程序。 C# 源于 C 语言系列,C、C++、Java 和 JavaScript 程序员很快就可以上手使用。2. .NET 体系结构C# 程序在 运行在.NET 上,而 .NET 是名为公共语言运行时 (CLR) 的虚拟执行系统(VEM)和一组类库。 CLR 是 Microsoft 对公共语言基础结构 (CLI) 国际标准的实现。用 C# .原创 2021-10-09 12:04:19 · 2198 阅读 · 0 评论