c#笔记-基础知识

目录

整数

浮点

decimal

bool

引用

object

string

枚举 关键字 enum

类型转换 

隐式转换

​编辑 显式转换

装箱,拆箱 

常量 

 表达式

​编辑 字符串的使用

比较字符串 

字符格式化

​编辑 截取字符串

字符串的分割

插入字符串 

删除字符串 

字符串的复制

替换字符串 

可变字符串类 

switch

do...while

foreach 

​编辑转移语句

 数组

​编辑 arraylist

属性 

 方法

 传多参

ref 

out 

重载 

结构

类 


整数

浮点

decimal

bool

引用

object

object o1 = 4;
object o2 = "123";

string

左值,右引用

值不影响别的参数,引用影响

           stamp stamp1 = new stamp { name = "1", age = 25 };stamp stamp2 = new stamp { name = "2", age = 30 };int age = stamp1.age;stamp1.age = 35;stamp stamp3 = stamp2;stamp2.name = "3";Console.WriteLine("stamp1 age: "+ stamp1.age);Console.WriteLine("age:"+age);Console.WriteLine("stamp2 age: " + stamp2.name);Console.WriteLine("stamp3 age: " + stamp3.name);

枚举 关键字 enum

 

类型转换 

隐式转换

 显式转换

 

装箱,拆箱 

二者转换过程中必须类型相同

常量 

readonly要定义在类中,可以直接赋值,也可以在构造方法中赋值,const是编译常量在编译时值就已经确定,而readonly是运行时常量,运行时才确定值。

 static void Main(string[] args) //程序入口{const double PI = 3.14;double r;Console.WriteLine("shuru");r = Convert.ToDouble(Console.ReadLine()); 
//因为readline返回的是字符串,所以要进行转化Console.WriteLine(PI*r);}

 表达式

使用%运算符时,结果和%左边的符号相同

字符串的使用

比较字符串 

字符格式化

 截取字符串

字符串的分割

插入字符串 

删除字符串 

字符串的复制

 

替换字符串 

可变字符串类 

switch

do...while

foreach 

转移语句

 数组

 arraylist

1) ArrayList list1 = new ArrayList();2) int[] arr = new int[]{} ;ArrayList list2 = new ArrayList(arr) ;3) ArrayList list3 = new ArrayList(10) ;

ArrayList的方法

1)public virtual int Add(Object value) 

2)  public virtual void Insert(int index, Object value)

3) InsertRange(int Index, 一维数组的名称) 

4) public virtual void  Clear() --移除所有元素

5)public virtual void Remove(Object obhj) ---删除指定的元素

6)public virtual void RemoveAt(int Index) ---删除指定索引的元素

7)public virtual void RemoveRange(int index, int count)--删除指定的多个元素

8) foreach遍历ArrayList

9) IndexOf("A") ---返回A第一次出现的索引的位置,未找到的话返回-1;

10) IndexOf("A", 7) ---从索引7开始查找,未找到返回-1 ;

11) LastIndexOf("A") ---最后一次出现A的索引

12)LastIndexOf("A", 7)---下标0~7这段最后一次出现A的位置索引
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/qq_34177692/article/details/141942547

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//ArrayList类位于System.Collections命名空间内
using System.Collections;//ArrayList是一种动态数组
//ArrayList的容量可以根据需要自动扩充
//ArrayList提供了添加,删除,和插入某一范围元素的方法
//Array List提供了将只读和固定大小包装返回集合的方法,数组不提供
//Array List只能是一维的形式,数组可以多维namespace ArrayListDemo01
{internal class Program{static void Main(string[] args){//ArrayList的构造函数//以默认(16位)大小来初始化内部的数组ArrayList list = new ArrayList();//用一个ICollection对象来构造,并把集合的元素添加到ArrayList中int[] arr1 = {10,9,8,7,6,5,4,3,2,1,0,11,12,13,14,15,16};ArrayList list1 = new ArrayList(arr1 );//用指定大小初始化内部数组ArrayList list2 = new ArrayList(20);Console.WriteLine("list中包含的元素数为:");//ArrayList的属性Capacity获取或设置ArrayList中可包含的的元素数Console.WriteLine(list.Capacity);list.Capacity = 10;Console.WriteLine("list可以包含的元素数:");Console.WriteLine(list.Capacity);//ArrayList中的属性Count是获取实际包含的元素数//如果ArrayList没有被初始化,那么count=0;Console.WriteLine("list中实际包含的元素数:");Console.WriteLine(list.Count);//ArrayList的初始化for(int i=0; i<list.Capacity; i++){list.Add(i);}Console.WriteLine("初始化后,list内包含的元素数:");Console.WriteLine(list.Count);//常用的属性及说明//IsFixedSizeConsole.WriteLine(list1.IsFixedSize);  //false//IsReadOnlyConsole.WriteLine(list1.IsReadOnly); //false //Item 获取或设置指定索引处的元素//和数组访问元素的方法一样Console.WriteLine(list1[5]);//ArrayList中的方法//public virtual int Add(Object value)//virtual方法在派生类中可以不重写,有方法体//抽象方法只有声明没有方法体,派生类中必须重写list1.Add(17);list1.Add(18);foreach(int i in list1){Console.Write(i + " ");}Console.WriteLine();//Insert(), 插入元素//public virtual void Insert(int index, Object value)list1.Insert(0, 100);foreach (int i in list1){Console.Write(i + " ");}Console.WriteLine();//ArrayList插入一个数组//InsertRange()int[] arr2 = {11,22,33,44,55,66,77 };list1.InsertRange(5,arr2);foreach (int i in list1){Console.Write(i + " ");}Console.WriteLine();//ArrayList删除一个元素int[] array = {11,2,3,44,55,55,55,66,77,88,99,100,101,102 };ArrayList al1 = new ArrayList(array);//Remove()从ArrayList中移除特定对象的第一个匹配项al1.Remove(55);//括号里面是ArrayList中的元素foreach (int i in al1){Console.Write(i + " ");}Console.WriteLine();//RemoveAt()移除指定索引的元素al1.RemoveAt(5);//括号里面是索引foreach (int i in al1){Console.Write(i + " ");}Console.WriteLine();//RemoveRange()//public virtual void RemoveRange(int index, int count)al1.RemoveRange(4, 3);foreach (int i in al1){Console.Write(i + " ");}Console.WriteLine();//clear()删除所有元素al1.Clear();Console.WriteLine(al1.Count);//获取实际包含的元素数Console.WriteLine(al1.Capacity);//获取或设置可包含的元素数Console.WriteLine();int[] al2 = new int[] { 11, 33, 2, 5, 10, 10, 10, 15, 63, 64, 54 };ArrayList arrList = new ArrayList(al2);//Indexof("A")返回第一次出现的索引位置,未找到返回-1Console.WriteLine("第一次出现10的索引位置为:{0} ", arrList.IndexOf(10));//IndexOf("A", 7)从索引7开始查找,未找到返回-1,包含7这个索引位置Console.WriteLine(arrList.IndexOf(10, 5));//=5;//LastIndexOf(10)从后面开始检索10第一次出现的索引Console.WriteLine(arrList.LastIndexOf(10));//=6从Console.WriteLine(arrList.LastIndexOf(10, 4));//=4//public virtual bool Contains(Object item)Console.WriteLine(arrList.Contains(20));//=falseConsole.WriteLine(arrList.Contains(10));//=true}}
}

属性 

 

 

 方法

 传多参

ref 

 

out 

 

重载 

结构

类 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24350.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

表单制作代码,登录动画背景前端模板

炫酷动效登录页 引言 在网页设计中,按钮是用户交互的重要元素之一。一个炫酷的按钮特效不仅能提升用户体验,还能为网页增添独特的视觉吸引力。今天,我们将通过CSS来实现一个“表单制作代码,登录动画背景前端模板”。该素材呈现了数据符号排版显示出人形的动画效果,新颖有…

基于Hadoop的汽车大数据分析系统设计与实现【爬虫、数据预处理、MapReduce、echarts、Flask】

文章目录 有需要本项目的代码或文档以及全部资源&#xff0c;或者部署调试可以私信博主 项目介绍爬虫数据概览HIve表设计Cars Database Tables 1. cars_data2. annual_sales_volume3. brand_sales_volume4. city_sales_volume5. sales_volume_by_year_and_brand6. sales_distri…

C++和OpenGL实现3D游戏编程【连载23】——几何着色器和法线可视化

欢迎来到zhooyu的C++和OpenGL游戏专栏,专栏连载的所有精彩内容目录详见下边链接: 🔥C++和OpenGL实现3D游戏编程【总览】 1、本节实现的内容 上一节课,我们在Blend软件中导出经纬球模型时,遇到了经纬球法线导致我们在游戏中模型光照显示问题,我们在Blender软件中可以通过…

SOME/IP-SD -- 协议英文原文讲解2

前言 SOME/IP协议越来越多的用于汽车电子行业中&#xff0c;关于协议详细完全的中文资料却没有&#xff0c;所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块&#xff1a; 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.2.2 S…

C++复习专题——泛型编程(模版),包括模版的全特化和偏特化

1.泛型编程 在未接触模版前&#xff0c;如果我们想实现一个通用的交换函数&#xff0c;那么我们可以通过函数重载来实现 void Swap(int &x,int &y) {int z x;x y;y z; } void Swap(float &x,float &y) {int z x;x y;y z; } void Swap(double &x,dou…

Docker入门

注意&#xff1a; 本文内容于 2025-02-23 01:18:58 创建&#xff0c;可能不会在此平台上进行更新。如果您希望查看最新版本或更多相关内容&#xff0c;请访问原文地址&#xff1a;Docker入门。感谢您的关注与支持&#xff01; 在日常开发中&#xff0c;其实我这里是没有使用 D…

haproxy基本配置详解

一、haproxy基础配置 官方文档&#xff1a;HAProxy version 2.2.22 - Configuration Manual HAProxy 的配置文件haproxy.cfg由两大部分组成&#xff0c;分别是global和proxies部分。 global&#xff1a;全局配置段 进程及安全配置相关的参数性能调整相关参数Debug参数 pro…

nodejs:express + js-mdict 作为后端,vue 3 + vite 作为前端,在线查询英汉词典

向 doubao.com/chat/ 提问&#xff1a; node.js js-mdict 作为后端&#xff0c;vue 3 vite 作为前端&#xff0c;编写在线查询英汉词典 后端部分&#xff08;express js-mdict &#xff09; 1. 项目结构 首先&#xff0c;创建一个项目目录&#xff0c;结构如下&#xff1…

网络原理--TCP的特性

TCP报文的结构&#xff1a; TCP的报头前20字节是固定长度&#xff0c;也可以通过“选项”来增加。 一、用来确保可靠性&#xff0c;最核心的机制&#xff0c;称为“确认应答” 引入一个情景&#xff1a; A向B询问cat和dog的意思&#xff1a; 这种情况是理想情况&#xff0c;…

Java 大视界 -- 深度洞察 Java 大数据安全多方计算的前沿趋势与应用革新(52)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

【HTML— 快速入门】HTML 基础

准备工作 vscode下载 百度网盘 Subline Text 下载 Sublime Text下载 百度网盘 vscode 下载 Sublime Text 是一款轻量好用的文本编辑器&#xff0c;我们在写前端代码时&#xff0c;使用 Sublime Text 打开比使用记事本打开&#xff0c;得到的代码体验更好&#xff0c;比 vscode…

深圳南柯电子|医疗设备EMC测试整改检测:零到一,保障医疗安全

在当今医疗科技飞速发展的时代&#xff0c;医疗设备的电磁兼容性&#xff08;EMC&#xff09;已成为确保其安全、有效运行的关键要素之一。EMC测试整改检测不仅关乎设备的性能稳定性&#xff0c;更是保障患者安全、避免电磁干扰引发医疗事故的重要措施。 一、医疗设备EMC测试整…

Tomcat安装与环境变量配置(图文详解)

一、前置条件 tomcat依赖java环境&#xff0c;需要先安装java环境。 jdk环境变量配置可参考&#xff1a;win7、win10系统JDK环境变量配置-CSDN博客 二、Tomcat的下载与安装 1.进入Tomcat官网&#xff1a; https://tomcat.apache.org/ 2.在该网页左侧栏红框标记的download…

网络安全之Web后端PHP

目录 一、PHP基础语法 1.PHP基础 &#xff08;1&#xff09;php的优点 &#xff08;2&#xff09;PhpStorm的优点 2.PHP基本语法 3.PHP变量 4.PHP运算符 二、PHP流控与数组 1.php流程控制语句以及循环 &#xff08;1&#xff09;if 语句 &#xff08;2&#xff09;if…

Python 批量横屏转竖屏视频处理工具

Python 批量横屏转竖屏视频处理工具 相关资源文件已经打包成EXE文件&#xff0c;可双击直接运行程序&#xff0c;且文章末尾已附上相关源码&#xff0c;以供大家学习交流&#xff0c;博主主页还有更多Python相关程序案例&#xff0c;秉着开源精神的想法&#xff0c;望大家喜欢&…

ESP32S3:解决RWDT无法触发中断问题,二次开发者怎么才能使用内部RTC看门狗中断RWDT呢?

目录 基于ESP32S3:解决RWDT无法触发中断问题引言解决方案1. 查看报错日志2. 分析报错及一步一步找到解决方法3.小结我的源码基于ESP32S3:解决RWDT无法触发中断问题 引言 在嵌入式系统中,RWDT(看门狗定时器)是确保系统稳定性的重要组件。然而,在某些情况下,RWDT可能无法…

在windows下安装windows+Ubuntu16.04双系统(上)

这篇文章的内容主要来源于这篇文章&#xff0c;给文章很详细的介绍了如何从windows下安装windowsubuntu16.04双系统。我刚开始装双系统都是参照这个方法&#xff0c;该作者前后更新了两个版本&#xff0c;在这里对其稍微进行整理一下。 一、准备&#xff1a;&#xff08;这里推…

计算机单位之详解——存储单位Byte 网络传输单位bps 视频码率单位bps

前言&#xff1a; 计算机里面单位有点复杂&#xff0c;容易混淆&#xff0c;很多时候混起来就容易概念不理解&#xff0c;包括一些小问题&#xff0c;比如说&#xff1a;为什么我买了1T硬盘&#xff0c;实际存在虚标。为什么所谓的千兆宽带&#xff0c;下载起来没有1G每秒&…

博客系统完整开发流程

前言 通过前⾯课程的学习, 我们掌握了Spring框架和MyBatis的基本使用, 并完成了图书管理系统的常规功能开发, 接下来我们系统的从0到1完成⼀个项⽬的开发. 企业开发的流程 1. 需求评审(产品经理(PM)会和运营(想口号),UI,测试,开发等沟通) ,会涉及到背景/目标/怎么做,可能会有多…

MFC笔记:本专栏课件

专栏导航 上一篇&#xff1a;在VS2019里面&#xff0c;调整代码字体大小 回到目录 下一篇&#xff1a;无 本节前言 在之前的讲解里面&#xff0c;我讲解了 Visual Studio 软件的一些个基础操作步骤。从本节开始&#xff0c;我们进入预备章。 本节内容&#xff0c;属于是 …