码农小白 数组 C#篇

2001年入行老码农:写段极简C#代码,搞定随手拍照的整理难题 做了二十多年技术,从青涩新手走到如今,越来越觉得,编程从来不止是谋生的工作,更是解决生活小麻烦的顺手利器。不用把技术捧得高高在上,用简单的几行代码,优化枯燥的日常,就是最踏实的成就感。平时除了分享这类自用C#实用小工具、多年编程心得,我也会记录自己作为老码农的日常感悟,还有那些不加修饰、随手拍下的城市烟火与下班随感。没有专业摄影技巧,不玩技术炫技,只分享最真实的程序员日常和干货内容。后续我会陆续整理更多自用C#效率工具、老程序员职场经验、日常随笔,这份工具的完整工程文件,我也整理打包好了,放在。 阅读详情

数组

1、数组

1、定义
  • 元素: 数组的独立数据称作元素
  • 秩 \ 维度: 数组可以是任何正数维度
  • 维度长度: 数组每一个维度都有一个长度
  • 数组长度: 数组所有维度的元素总和称为数组的长度
2、重要细节
  • 数组一旦创建,大小就无法改变
  • 数组的索引是从0开始

2、数组的类型

  • 一维数组: 一维数组是单行元素或元素向量
  • 多维数组: 多维数组是由主向量的位置组成,每一个位置本身又是一个数组称为子数组 。子数组向量的位置本身又是一个子数组

3、数组是对象

  • 数组实例是从System.Array继承的对象
  • 数组总是引用类型,但它的元素可以是值类型也可以是引用类型

4、一维数组和多维数组

int[] arr1;    //一维数组的声明

int[,] arr2;    //二维数组的声明
int[,,] arr3;    //三维数组的声明

//int[1, 2, 6] arr4;    //编译错误,声明时数据类型中不能加维度长度

5、实例化数组

使用new 关键字

int[,,] arr2 = new int[1, 5, 8];    //三维数组的声明并实例化

6、访问数组元素

数组名[索引值]

class Program
{
	static void Main()
	{
		int[] arr1 = new int[10];    //数组的声明

		arr[2] = 6;    //给索引为2的元素赋值

		Console.WriteLine(arr[2]);    //访问索引为2的元素
	}
}

输出结果

6

7、数组的初始化

//int[] arr1 = new int[3] {1, 2, 3};    //显示初始化
int[] arr1 = {1, 2, 3};    //快捷语法,与上行等同

//int[,] arr2 = new int[2, 3] {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int[,] arr2 = {{1, 2, 3}, {4, 5, 6}};    //快捷语法,与上行等同

8、交错数组

交错数组是数组的数组。交错数组的子数组的元素可以不同

1、声明交错数组
int[][] arr1;    //秩为2
int[][][] arr2;    //秩为3
2、快捷实例化
//int[][] arr1 = new int[3][此处不允许添加层数];
int[][] arr1 = new int[3][];
3、实例化交错数组
int[][] arr1 = new int[3][];    //实例化顶层数组

arr1[0] = new int[] {1, 2, 3};    //实例化子数组
arr1[1] = new int[] {1, 2, 3, 4, 5};    //实例化子数组
arr1[2] = new int[] {1, 2, 3, 4, 5, 6, 7, 8};    //实例化子数组
考考准备面试的兄弟姐妹几个C#问题,看看你们是否够格“精通C#” - .NET技术 / C# 考考准备面试的兄弟姐妹几个C#问题,看看你们是否够格“精通C#”。 题目是我自己随手编的,和网上雷同属巧合。如果这个贴能盖100楼,我会公布答案。题目和答案都是我自己想的,不保证正确,欢迎拍砖。 题目仅供娱乐,觉得无聊可以借助MSDN、编译器来回答。 下面开始: *****C#初级码农:***** 我觉得C#码农具备的知识包括,知道基本语法,会判断、选择、循环语句,会函数调用。 (1) C# 如何处理 if - else 悬挂二义性问题的,比如: int i = 阅读详情

相关推荐

C#的Mat对象 vs C++的OpenCV:谁更易维护?——一个被“内存泄漏“逼疯的码农的血泪史!

摘要: C#与C++在OpenCV内存管理上存在显著差异。C#的Mat对象因GC不管理C++堆内存,易导致内存泄漏(如未手动释放src.Dispose())。而C++通过RAII机制自动释放栈对象,内存更稳定。解决方案:C#可使用GOCW封装层,桥接C++内存管理,避免泄漏。对比显示,C++原生OpenCV代码维护性更优,内存控制更精准,而C#需依赖正确封装或严格手动释放。关键教训:C#调用OpenCV时,必须正确处理跨语言内存管理。(149字)

墨夶的博客 1165

码农小白 类型、存储和变量 C#篇

码农小白 C#篇类型、存储和变量1、C#程序是一组类型声明2、类型是一种模板3、实例化类型4、数据成员和函数成员5、预定义类型6、用户定义类型7、栈和堆8、C#类型的分类9、变量1、变量声明 类型、存储和变量 1、C#程序是一组类型声明 如果广泛的描述,C程序是一组函数和数据类型,C++程序是一组函数和类,然而C#程序是一组类型声明 例如,下面是由3个声明在新命名空间MyProgram下的类型组成...

OutsideSystem的博客 295

C#知识库救命指南:深夜加班不抓狂,老码农的私藏宝库大公开!

返回类型要执行的操作</param>/// <param name="defaultValue">默认值

墨夶的博客 736

码农小白 表达式和运算符 C#篇

码农小白 C#篇表达式和运算符1、表达式2、转义符3、简单算术运算符4、比较运算符5、递增和递减运算符6、条件逻辑运算符7、逻辑运算符8、移位运算符9、赋值运算符10、条件运算符 表达式和运算符 1、表达式 运算符是一个符号,它表示返回单个结果的操作。 操作数是指作为运算符输入的数组元素。 表达式是运算符和操作数的字符串。 运算符的操作有 将操作数作为输入 执行某个操作 基于该操作返回一个值 ...

OutsideSystem的博客 273

矩阵乘法的“华尔兹”:C#如何优雅处理二维数组?

摘要: 本文以幽默风格解析C#矩阵乘法性能优化,对比传统三层循环与缓存友好、Span<T>泛型方案的差异。通过调整循环顺序减少CPU缓存跳跃,利用Span<T>降低GC压力,实测性能提升300%。文章包含祖传优化口诀(缓存连续、泛型榨汁、并行加速)和PLINQ并行实现,用"华尔兹舞步""炼丹术"等比喻让技术解读生动有趣,最终呈现一份既硬核又搞笑的性能优化指南。 (98字,核心覆盖技术点、优化策略、风格特色)

java专栏 446

Pentaho安装与配置

Pentaho安装与配置前言一、下载二、配置1.JDK环境2.添加mysql-jdbc驱动三、启动 前言 Pentaho Data Integration (PDI):前身是Kettle。Pentaho提供了提取、转换和加载(ETL)功能,该功能使用统一且与最终用户和物联网技术相关且可访问的格式简化了捕获、清理和存储数据的过程。 功能:提供报表的制作、分析、仪表板、数据集成、数据采集、商业智能平台等强大功能。 一、下载 官网地址:http://www.pentaho.com/ 不过已经访问不到了

小太阳DENGJIE的博客 3603

C#的数组和集合

实现在visionPro里对图片的保存还是很重要的一部分,因为我们调试视觉很多时候我们一般都要调试几天,验证几周才能得出这个算法是稳定状态,而我们就得保存一些OK图和NG图以便我们后面的调试优化工作。废话不多说,直接贴上代码。对于我们而言,写代码对于数组的应用真的特别多,但又不是专业的码农有时候真的会经常忘记,记录一下数组的用法!我在这个行业应用比较多的语言就是C#和Python,所以只记录这两种语言。

GDIUOOO的博客 399

CH582低功耗实战:从1.2mA降到5uA,我的蓝牙广播功耗优化笔记

本文详细记录了沁恒CH582蓝牙芯片从1.2mA降至5μA的功耗优化全过程。通过建立基准测试环境、分层排查软件配置与IO状态、精细调优射频参数以及硬件层面的电源管理,实现了极致的低功耗表现。文章还提供了实用的功耗测量方法和典型问题排查指南,为蓝牙设备开发者提供了宝贵的参考经验。

weixin_30368405的博客 572

C#窗体程序:《码农的变量名》

C#窗体程序:《码农的变量名》源码分析 为解决敲代码过程变量命名的烦恼于是我做了《码农的变量名》,可以一键翻译并进行变量命名的规范。下面为大家分析一下实现的过程。 翻译API 首先要实现的是翻译功能,这里可以在网上查找一些官方的翻译api就能够解决,我用的是有道的api //获取输入的中文 string bnm = textBox1.Text; //调用有道api拼接参数并进行post请求就能返...

丘秋的博客 569

STM32F407 UART4串口DMA收发实战:告别频繁中断,用空闲中断+DMA搞定不定长数据

本文详细介绍了STM32F407 UART4串口结合DMA和空闲中断实现高效不定长数据收发的实战方案。通过DMA硬件级数据搬运和空闲中断智能帧检测,显著降低CPU占用率,提升通信效率,适用于工业传感器数据采集和智能设备通信场景。

weixin_42631411的博客 154

Dify+MCP Server打造禅道AI智能助手

Dify AI与MCP Server结合打造的禅道AI智能助手,实现了项目管理智能化升级。该方案通过大语言模型和自动化工作流,提供四大核心功能:1)自动化报表生成,支持多维度数据统计与可视化;2)禅道系统管理操作,简化产品/项目/任务管理流程;3)基于知识库的智能问答系统;4)数据库灵活查询与可视化输出。系统采用分层架构,通过MCP协议实现AI与数据源解耦,解决了传统禅道在数据孤岛、工具碎片化等问题。实际应用验证了其在用户管理、任务创建、Bug处理等场景的高效性,显著提升了项目管理效率。

oNew_Lifeo的博客 1708

C#调整数组顺序,让奇数位于偶数前面的算法的代码

写内容之余,把写内容过程中比较重要的内容记录起来,如下的资料是关于C#调整数组顺序,让奇数位于偶数前面的算法的内容,希望对码农们有用。 #region 调整数组顺序使奇数位于偶数前面 class Reorder { private List<int> _array; private RecorderOperator _op; public List<int> a...

weixin_33877885的博客 262

一次渗透测试引发的Json格式下CSRF攻击的探索

一次渗透测试引发的Json格式下CSRF攻击的探索

weixin_52501704的博客 1048

C#读取文件的所有行到数组的代码

如下代码内容是关于C#读取文件的所有行到数组的代码,希望能对码农有用途。using System; namespace PlayingAround { class ReadAll { public static void Main(string[] args) { string[] lines = System.IO.File.ReadAllLine...

weixin_33860737的博客 1215

Alibaba Java Coding Guidelines,以后我的Java代码规范,就靠它了

前言 对于Java代码规范,业界有统一的标准,不少公司对此都有一定的要求。但是即便如此,庞大的Java使用者由于经验很水平的限制,未必有规范编码的意识,而且即便经验丰富的老Java 程序员也无法做到时刻将规范牢记于心。所以对于代码规范扫描工具,一经问世就广受青睐,阿里巴巴出品的Alibaba Java Coding Guidelines(阿里巴巴Java代码规约扫描,以下简称为AJCG)插件便是其...

java梦工厂 859

GCC调试黑科技:-fomit-frame-pointer优化下如何保证栈回溯能力

本文深入探讨了GCC编译器在启用`-fomit-frame-pointer`优化选项时如何保证栈回溯能力。通过分析`.eh_frame`段的结构与DWARF调试信息,提供了从编译选项配置到实战调试的完整解决方案,帮助开发者在性能优化与调试能力之间找到最佳平衡点。

u6v7w8x的博客 904

非计算机专业的码农C#学习笔记 五、数组和集合

数组和集合 1.数组问题Array (1)一维数组:int[] arr={1,2,3,5,5} string[] s={s,l,s,g} (2)二维数组:int[,] arr=new int[2,2]{{1,2},{3,4}} 类型[,] 数组名=new 类型[行数(元素数),列数(元素的子元素数]{{元素1,元素2},{元素…},…,} l 动态数组:类型...

weixin_30492601的博客 116

使用R语言获取data.frame中指定列的数据

这里以"df"为例,包含三列数据:“列1”、“列2"和"列3”。通过以上代码,我们成功获取了"列1"和"列3"的数据,并将它们分别存储在了变量"column1"和"column3"中。假设我们有一个名为"df"的data.frame,其中包含了多个列,我们想要提取其中的某一列。符号,我们可以从data.frame中提取出"列2"的数据,并将其赋值给变量"column2"。符号,我们可以轻松提取出data.frame中特定列的数据,并将其存储在变量中供进一步的分析和处理使用。假设我们要获取"列2"的数据。

DevRevolt的博客 2321

C# 数组乱序

为什么80%的码农都做不了架构师?>>> ...

weixin_33788244的博客 711

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

C# 语法练习(7): 数组

为什么80%的码农都做不了架构师?>>> ...

weixin_34008805的博客 128

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

[.Net码农]C# WebService异步处理/异步调用详解

http://www.csframework.com/archive/5/arc-5-20110612-1593.htm C# WebService异步处理/异步调用详解(附实例源代码) 有时WebService后台程序在运算复杂的数据时客户界面呈现等候状态, 在有些情况下客户不愿意等候也不关心运算何时结束。从设计角度来看至少可使用两种方法解

能看代码的CrackLibby 9339

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

c# 数组判断是否有重复项

var lisDup = cqcode.GroupBy(x => new { x.DeviceCode, x.Dzm }).Where(x => x.Count() > 1).Select(x => x.Key).ToList(); if (lisDup.Count > 0) return new JsonModel<string>(false) { Message = "数组中存在重复项" };

qq_39895658的博客 1949

【.Net码农】C# List<string>与String字符串相互转换

http://blog.163.com/very_apple/blog/static/2775923620146304190249 List转换成字符串 List list = new List(); list.Add("a"); list.Add("b"); list.Add("c"); string str = string.Join(",",

能看代码的CrackLibby 8047

码农刚子 - 专注于C#/.NET的技术博主和开发者

AOT(Ahead-of-Time)编译,简单说就是把代码提前编译成原生机器码,而不是运行时才 JIT 编译。启动速度大幅提升(具体效果因项目而异)内存占用更低部署包更小(Linux 上可减少 50%)PGO(Profile-Guided Optimization)是 .NET 8 的杀手锏。它会在运行时收集代码执行数据,然后针对热点路径进行专门优化。简单理解:JIT 编译器变聪明了,它知道哪些代码被执行最多,就重点优化哪些。

lXi1Duz5C的博客 190

C#温故知新:《C#图解教程》读书笔记系列

一.此书到底何方神圣?      本书是广受赞誉C#图解教程的最新版本。作者在本书中创造了一种全新的可视化叙述方式,以图文并茂的形式、朴实简洁的文字,并辅之以大量表格和代码示例,全面、直观地阐述了C#语言的各种特性。新版本除了精心修订旧版内容外,还全面涵盖了C# 5.0的新增特性,比如异步编程、调用者信息、case表达式、带参数的泛型构造函数、支持null类型运算等。通过本书,读者能够快速、深...

weixin_30263073的博客 290

C#生成指定范围内的不重复随机数的代码

下面的代码是关于C#生成指定范围内的不重复随机数的代码,应该是对码农们有些好处。 public int[] GetRandomArray(int Number,int minNum,int maxNum) { int j; int[] b=new int[Number]; Random r=new Random(); for(j=0;j<Number;j++) { int i=r.Next(...

weixin_33895657的博客 931
上一篇: 码农小白 结构和枚举 C#篇
下一篇: 码农小白 单例模式 设计模式篇
_ 码农小白_
博客等级 码龄7年 2粉丝 53原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值