.NET常用语法

本文详细介绍了C#编程语言的基础概念,包括命名空间、类、成员变量、成员函数、数据类型、类型转换、运算符、控制结构、封装、访问修饰符、方法、可空类型、数组、字符串处理、结构体与枚举、类与继承、多态性、异常处理、文件输入输出以及动态数组、排序、堆栈和队列。
摘要由CSDN通过智能技术生成

1.using关键字
using System;
using 关键字用于在程序中包含命名空间

2.class关键字:用于声明一个类
3.成员变量:变量是类的属性或数据成员,用于存储数据
4.成员函数:函数是一系列执行指定任务的语句。类的成员函数是在类内声明的
5.C#标识符:
在这里插入图片描述
6.C#关键字:
在这里插入图片描述
7.C#数据类型
在C#中,变量分为以下几种类型:
①值类型
在这里插入图片描述
②引用类型
内置的引用类型有:object,dynamic和string.
在这里插入图片描述
③指针类型
在这里插入图片描述
8.C#类型转换:
①隐式类型转换:这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失.
②显示类型转换:显式类型转换,即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失.
在这里插入图片描述
在这里插入图片描述
9.C#变量:
在这里插入图片描述
在这里插入图片描述
10.C#运算符
在这里插入图片描述
①算术运算符
在这里插入图片描述
②关系运算符
在这里插入图片描述
③逻辑运算符
在这里插入图片描述
④位运算符
在这里插入图片描述
在这里插入图片描述
⑤赋值运算符
在这里插入图片描述
⑥其他运算符
在这里插入图片描述
⑦C#中的运算符优先级
在这里插入图片描述
在这里插入图片描述
11.C#判断
判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的).
在这里插入图片描述
12.?:运算符
条件运算符?:,可以用来替代
if…else
语句.
条件(三元)运算符,它的作用是根据条件表达式的结果来返回两个可能的结果之一.

Exp1 ? Exp2 : Exp3;

Exp1,Exp2,Exp3是表达式. ?表达式的值是由Exp1决定的.如果Exp1为真。如果Exp1为假,则计算Exp3的值,结果即为整个?表达式的值.

13.C#循环
在这里插入图片描述

14.循环控制语句
在这里插入图片描述
15.无限循环
在这里插入图片描述
16.C#封装
封装被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中".在面向对象程序设计方法论中,封装是为了防止对实现细节的访问.
抽象和封装是面向对象程序设计的相关特性.抽象允许相关信息可视化,封装则使开发者实现所需级别的抽象.
C#封装,设置使用者的访问权限,并通过访问修饰符来实现.
一个访问修饰符定义了一个类成员的范围和可见性.
public:所有对象都可以访问.
private:对象本身在对象内部可以访问.
protected:只有该类对象及其子类对象可以访问.
internal:同一个程序集的对象可以访问.
protected internal:访问限于当前程序集或派生自包含类的类型.

Public访问修饰符:
Public 访问修饰符允许一个类将其成员变量和成员函数暴露给其他的函数和对象。任何公有成员可以被外部的类访问。

using System;

namespace RectangleApplication
{
	class Rectangle
	{
	   	//成员变量
	   	public double length;
	   	public double width;
	   	  
	   	  public double GetArea()
	   	  {
	   	  		return length*width;
		  }
		  public void Display()
		  {
			    Console.WriteLine("长度{0}",length);
			    Console.WriteLine("宽度{0}",width);
			    Console.WriteLine("面积{0}",GetArea());
		  }
     }
	
	class ExecteRectangle
	{
		static void Main(string[] args){
			Rectangle r = new Rectangle();
			r.length = 4.5;
			r.width = 3.5;
			r.Display();
			Console.ReadLine();
		}
	}
}

在这里插入图片描述
Private访问修饰符:
Private访问修饰符允许一个类将其成员变量和成员函数对其他的函数和对象进行隐藏. 只有同一个类中的函数可以访问它的私有成员. 即使是类的实例也不能访问它的私有成员.

using System;

namespace RectangleApplication
{
	class Rectangle
	{
		//成员变量
		private double length;
		private double width;
     
     	public void Acceptdetails()
     	{
     		Console.WriteLine("请输入长度:");
     		length = Convert.ToDouble(Console.ReadLine());
     		Console.WriteLine("请输入宽度:");
     		width = Convert.ToDouble(Console.ReadLine());
     	}
	
		public double GetArea()
		{
			return length*width;
		}
		
		public void Display()
		{
			Console.WriteLine("长度:{0}",length);
			Console.WriteLine("宽度:{0}",width);
			Console.WriteLine("面积:{0}",GetArea());
	   }
}

class ExecuteRectangle
{
	static void Main(string[] args)
	{
		Rectangle r = new Rectangle();
		r.Acceptdetails();
		r.Display();
		Console.ReadLine();
	}
}
}

Protected访问修饰符
Protected 访问修饰符允许子类访问它的基类的成员变量和成员函数.

Internal访问修饰符
Internal 访问说明符允许一个类将其成员变量和成员函数暴露给当前程序中的其他函数和对象.
在这里插入图片描述
Protected Internal 访问修饰符
Protected Internal访问修饰符允许在本类,派生类或者包含该类的程序集中访问.这也被用于实现继承.

17.C#方法
一个方法是把一些相关的语句组织在一起,用来执行一个任务的语句块。每一个 C# 程序至少有一个带有 Main 方法的类。
要使用一个方法,您需要:

  • 定义方法
  • 调用方法
    在这里插入图片描述

在这里插入图片描述
19.
在这里插入图片描述
20.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
21.C#可空类型(Nullable)
C#单问号?与双问号??
?:单问号用于对int,double,bool等无法直接赋值为null的数据类型进行null的赋值,意思是这个数据类型是NullAble类型的.
在这里插入图片描述
在这里插入图片描述
22.C#数组(Array)
数组是一个存储相同类型元素的固定大小的顺序集合。数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合.数组中某个指定的元素是通过索引来访问的.
所有的数组都是
由连续的内存位置组成的
。最低的地址对应第一个元素,最高的地址对应最后一个元素.

①声明数组
在这里插入图片描述
②初始化数组
在这里插入图片描述
③赋值给数组
在这里插入图片描述
④访问数组元素
在这里插入图片描述
⑤使用foreach循环
在这里插入图片描述
⑥C#数组细节
在这里插入图片描述

23.C#字符串(String)
在C#中,你可以使用字符数组来表示字符串,但常见做法是使用string关键字来声明一个字符串变量. string关键字是System.String类的别名.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
String.Compare(str1, str2) == 0 的条件判断可以用来检查两个字符串是否相等
在这里插入图片描述
str.Contains(“test”) 用于字符串查找、过滤、或简单的条件检查
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
24.C#结构体(Struct)
在C#中,结构体是值类型数据结构. 它使得一个单一变量可以存储各种数据类型的相关数据. struct关键字用于创建结构体.
结构体是用来代表一个记录.
在这里插入图片描述
25.C#结构的特点
在这里插入图片描述
26.类vs结构
在这里插入图片描述
27.C#枚举(Enum)
在这里插入图片描述
在这里插入图片描述
28.C#类(Class)
在这里插入图片描述
在这里插入图片描述
29.成员函数和封装
在这里插入图片描述
在这里插入图片描述
30.C#的构造函数
在这里插入图片描述
在这里插入图片描述
31.C#中的析构函数
在这里插入图片描述
32.C#类的静态成员
在这里插入图片描述
33.C#继承
在这里插入图片描述
在这里插入图片描述
34.基类的初始化
在这里插入图片描述
在这里插入图片描述
35.C#多重继承
在这里插入图片描述
在这里插入图片描述
36.C#多态性
在这里插入图片描述
函数重载
在这里插入图片描述
可以是参数列表中的参数类型不同,也可以是参数个数不同.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
37.C#运算符重载
在这里插入图片描述
38.
在这里插入图片描述
39.C#接口(Interface)
在这里插入图片描述
在这里插入图片描述
40.C#命名空间
在这里插入图片描述
命名空间的定义:namespace
在这里插入图片描述
在这里插入图片描述
41.C#预处理器命令
在这里插入图片描述
#define预处理器
在这里插入图片描述
在这里插入图片描述
42.C#正则表达式
在这里插入图片描述
①字符转义
在这里插入图片描述
②字符类
在这里插入图片描述
③定位点
在这里插入图片描述
④分组构造
在这里插入图片描述
⑤限定符
在这里插入图片描述
⑥反向引用构造
在这里插入图片描述
⑦备用构造
在这里插入图片描述
⑧替换
在这里插入图片描述
⑨杂项构造
在这里插入图片描述
Regex类
在这里插入图片描述
在这里插入图片描述
以’m’开头以’e’结尾匹配

43.C#异常处理
在这里插入图片描述
在这里插入图片描述
C#中的异常类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
44.C#文件的输入与输出
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
文本文件的读写:StreamReaderStreamWriter有助于完成文本文件的读写.

二进制文件的读写:BinaryReaderBinaryWriter 类有助于完成二进制文件的读写.

文件预览:
在这里插入图片描述
在这里插入图片描述
sheetjs网页读取excel网站
在这里插入图片描述
45.C#特性
在这里插入图片描述
46.C#反射
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
47.C#属性
在这里插入图片描述
48.C#索引器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
49.C#委托
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
多播委托主要用于事件处理,因为它允许将多个事件处理程序绑定到同一个事件,并在事件发生时依次执行这些处理程序.

public delegate void MyDelegate(string message);
MyMulticastDelegate是一个多播委托,它允许添加多个无参方法.

在这里插入图片描述
50.C#事件
在这里插入图片描述
51.C#集合
在这里插入图片描述
①动态数组

using System;  
using System.Collections.Generic;  
  
class Program  
{  
    static void Main()  
    {  
        // 创建一个整数类型的动态数组(List)  
        List<int> numbers = new List<int>();  
  
        // 添加元素到列表中  
        numbers.Add(1);  
        numbers.Add(2);  
        numbers.Add(3);  
        numbers.Add(4);  
        numbers.Add(5);  
  
        // 遍历列表中的元素并打印出来  
        foreach (var number in numbers)  
        {  
            Console.WriteLine(number);  
        }  
  
        // 修改列表中的元素  
        numbers[0] = 100; // 将第一个元素修改为100  
        Console.WriteLine(numbers[0]); // 输出: 100  
  
        // 删除列表中的元素  
        numbers.RemoveAt(0); // 删除第一个元素  
        Console.WriteLine(numbers[0]); // 输出: 2,因为第一个元素被删除了  
    }  
}

区别:动态数组和静态数组的区别
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
②排序列表
在这里插入图片描述

using System;  
using System.Collections;  
  
class Program  
{  
    static void Main()  
    {  
    	//排序列表
        SortedList<string, int> sortedList = new SortedList<string, int>();  
          
        // 添加元素到 SortedList  
        sortedList.Add("apple", 1);  
        sortedList.Add("banana", 2);  
        sortedList.Add("cherry", 3);  
          
        // 访问和输出元素  
        Console.WriteLine(sortedList["apple"]); // 输出: 1  
        Console.WriteLine(sortedList["banana"]); // 输出: 2  
        Console.WriteLine(sortedList["cherry"]); // 输出: 3  
          
        // 修改元素的值  
        sortedList["apple"] = 100;  
        Console.WriteLine(sortedList["apple"]); // 输出: 100  
          
        // 检查元素是否存在  
        if (sortedList.ContainsKey("banana"))  
        {  
            Console.WriteLine("Banana is in the list."); // 输出: Banana is in the list.  
        }  
    }  
}

③堆栈
在这里插入图片描述

using System;  
using System.Collections.Generic;  
  
class Program  
{  
    static void Main()  
    {  
        // 创建一个整数类型的栈  
        Stack<int> stack = new Stack<int>();  
  
        // 向栈中压入元素  
        stack.Push(1);  
        stack.Push(2);  
        stack.Push(3);  
        stack.Push(4);  
  
        // 查看栈顶元素但不移除  
        Console.WriteLine("栈顶元素: " + stack.Peek()); // 输出: 4  
  
        // 移除并返回栈顶元素  
        int poppedElement = stack.Pop();  
        Console.WriteLine("Popped element: " + poppedElement); // 输出: 4  
        Console.WriteLine("栈顶元素: " + stack.Peek()); // 输出: 3  
    }  
}

在这里插入图片描述
④队列
在这里插入图片描述

using System;  
using System.Collections.Generic;  
  
class Program  
{  
    static void Main()  
    {  
        // 创建一个整数类型的队列  
        Queue<int> queue = new Queue<int>();  
  
        // 向队列中添加元素  
        queue.Enqueue(1);  
        queue.Enqueue(2);  
        queue.Enqueue(3);  
        queue.Enqueue(4);  
  
        // 查看并移除队列头部的元素  
        int dequeuedElement = queue.Dequeue();  
        Console.WriteLine("Dequeued element: " + dequeuedElement); // 输出: 1  
        Console.WriteLine("Queue head: " + queue.Peek()); // 输出: 2  
    }  
}

在这里插入图片描述
52.C#泛型
在这里插入图片描述
53.C#多线程
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值