C# 可空类型(Nullable)详解

从零开始:在CentOS服务器上部署R Shiny应用的完整指南 本文提供了一份在CentOS服务器上部署R Shiny应用的完整实战指南。内容涵盖从创建专用用户、安装R语言环境、配置Shiny Server,到最终部署应用并配置防火墙的全过程。针对部署过程中常见的权限、端口及依赖问题,给出了详细的解决方案,旨在帮助数据分析师和开发者将本地Shiny应用稳定、安全地发布至生产环境。 阅读详情

在 C# 中,值类型(如 int、bool、DateTime)是不能为 null 的。默认情况下,这些类型的变量必须持有有效的值。比如:

int a = null;  // 编译错误

上面的代码会报错,因为 int 类型是一个值类型,它不能为 null。然而,有时我们可能需要表示一个没有值的状态,比如在与数据库交互时,某些字段可能为空,或者在其他场景下,空值可能具有特殊含义。为了处理这种需求,C# 提供了 可空类型(Nullable) 的支持。

什么是可空类型(Nullable)?

可空类型允许值类型(如 int、bool、DateTime)可以有一个 null 值。可空类型通过 Nullable<T> 结构体来实现,C# 提供了简洁的语法来表示它:在类型名后加上一个 ?,例如 int?、bool? 等。

例如:

int? a = null;  // 合法

这时,a 的类型是 Nullable<int>,它可以有三个状态:

  1. 它可以持有 int 类型的有效值。
  2. 它可以为 null。
  3. 它的默认值是 null。

单问号 ? 与双问号 ?? 的区别

在 C# 中,? 和 ?? 都是与 空值 有关的重要运算符,但它们的作用是不同的:

  • ?:用于定义可空类型,使得值类型可以为 null。
  • ??:空合并运算符,用于在值为 null 时提供默认值。
? 可空类型标识符

? 是可空类型的标识符,让值类型能够接受 null 值。例如:

int? x = 10;  // 合法,x = 10
bool? flag = null;  // 合法,flag = null
?? 空合并运算符

空合并运算符(??)用于为可空类型或引用类型定义一个默认值。如果左边的值为 null,则返回右边的默认值。

int? num1 = null;
int num2 = num1 ?? 0;  // 如果 num1 为 null,则返回 0
Console.WriteLine(num2);  // 输出 0

在这个例子中,num1 为 null,因此 num2 获取了 0 这个默认值。

可空类型的常用属性和方法

C# 提供了一些常用的属性和方法来帮助我们操作可空类型:

  • HasValue:检查可空类型变量是否有值。
  • Value:获取可空类型的实际值(如果为 null 会抛出异常)。
  • GetValueOrDefault():获取可空类型的值,如果为 null,返回默认值。
  • ??:为空时提供默认值。
示例
int? num = null;

if (num.HasValue)  // 检查是否有值
{
    Console.WriteLine(num.Value);  // 获取实际值
}
else
{
    Console.WriteLine("值为空");
}

Console.WriteLine(num.GetValueOrDefault());  // 返回默认值 0
Console.WriteLine(num ?? 100);  // 如果为 null,返回 100

实际应用场景

可空类型在很多实际场景中都非常有用,尤其是在处理数据库和外部数据时。例如,数据库中的字段可能会为 null,这时我们可以使用可空类型来表示这些数据。

假设我们有一个用户信息表,其中的某些字段可能为空:

用户ID年龄是否激活
128true
2nullfalse

使用可空类型,我们可以这样表示:

int? age = GetUserAgeFromDB(2);

if (age == null)
    Console.WriteLine("年龄未知");
else
    Console.WriteLine($"用户年龄:{age}");

在这个例子中,age 变量为 null,表示该用户没有年龄信息。

C# 8.0 引入的“可空引用类型”

从 C# 8.0 开始,除了值类型外,C# 还引入了 可空引用类型(Nullable Reference Types),与传统的 可空值类型 不同。可空引用类型是编译器层面的检查,而不会影响运行时行为。

示例:

string? name = null;  // 可空引用类型

在启用了可空引用类型检查的项目中,编译器会警告你在可能为 null 的引用类型变量上执行不安全的操作。

小结

功能示例说明
定义可空类型int? x = null;等价于 Nullable<int>
判断是否有值x.HasValue判断变量是否已赋值
获取实际值x.Value获取实际值,若为 null 会抛异常
获取默认值x ?? 0若为 null 返回默认值
默认值方法x.GetValueOrDefault(10)若为 null 返回 10

C# 的可空类型非常适合在处理那些可能不包含值的数据时使用,尤其是在数据库操作、外部数据输入等场景中,它能帮助我们更方便地处理 null 值,避免因为 null 引发的错误,提高代码的健壮性。

Pluto SDR新手避坑指南:从环境配置到第一个MATLAB收发程序(附完整代码) 本文为Pluto SDR新手提供全面的避坑指南,从硬件连接到MATLAB环境配置,再到第一个信号收发程序的实现。详细介绍了驱动安装、常见问题排查以及关键参数设置,帮助用户快速上手软件定义无线电(SDR)技术,并附有完整代码示例。 阅读详情

相关推荐

【YOLO 系列】基于YOLO V8的智能车载交通标志识别系统【python源码+Pyqt5界面+数据集+训练代码】

本文详细介绍了基于YOLO V8构建智能车载交通标志识别系统的完整流程。从环境搭建、数据集准备、模型训练到PyQt5图形界面开发,提供了Python源码和实战代码,帮助开发者快速实现高精度、实时的交通标志检测应用,提升驾驶辅助系统的开发效率。

wdx012345的博客 966

C#Nullable<T>可空的值类型,C#中的?使用整理

一、Nullable可空类型,指定一个值类型可以分配null 在C#中Nullable用于表示该类型是可以为空的一个类型。它被定义为结构(struct)而非一个类(class).... 语法 T? 是 System.Nullable 的简写,此处的 T 为值类型。这两种形式可以互换,例如:Nullable简写为int? 可空类型可表示一个值,或表示不存在任何值。例如,类似 String 的引

天马3798 4655

画了多年板子才搞懂:Allegro内电层负片连接,Thermal Relief和Anti-Pad避坑全解析

本文深入解析Allegro内电层设计中Thermal Relief与Anti-Pad的关键技术要点,帮助工程师避免常见设计陷阱。通过六层板实战案例,详细阐述负片连接逻辑、热风焊盘参数设计及隔离盘优化策略,提升PCB设计的可靠性与EMI性能。

weixin_28731223的博客 263

6.C#:在C#中使用Nullable类型(给整型赋null值的方法)

本文来自:http://blog.sina.com.cn/s/blog_43e42bde0100gbvn.html 在C#1.x的版本中,一个值类型变量是不可以被赋予null值的,否则会产生异常。在C#2.0中,微软提供了Nullable类型,允许用它定义包含null值(即空值)的数据类型,这对处理数据库中包含可选字段以及很多方面都有很大帮助。 定义Nullable类型 定义一个

xushaozhang的专栏 1万+

内网Linux服务器离线安装python包

3、将下载的依赖包和requirements.txt 拷贝到内网主机,依赖包和requirements.txt放同一级目录,进入该目录,运行指令。其实还有个更加方便的办法,联网主机装个与内网主机一样环境的虚拟机,在虚拟机中下载py包,拷贝到内网主机后就能直接安装了,省去手动下载py包的步骤。简单记录下最近遇到的一个小问题,内网主机没有内网源,处于无互联网状态,安装python包只能通过联网主机下载好后拷贝到内网主机。由于内网主机安装了多个版本的python,为了防止搞错,使用这种方式来调用pip安装。

cyc头发还挺多的博客 650

VC Spyglass CDC实战:从TCL脚本到SDC约束的完整避坑指南

本文是一份针对数字IC验证工程师的VC Spyglass CDC实战指南。文章详细阐述了从TCL脚本环境搭建、SDC约束编写到典型CDC违规(如SETUP_PORT_UNCONSTRAINED)诊断与修复的完整流程,旨在帮助读者高效避坑,深入理解工具逻辑,从而完成可靠的时钟域交叉验证。

go5gopher的博客 382

C# 可空类型(Nullable)

C# 可空类型(Nullable)C# 可空类型(Nullable)C# 提供了一个特殊的数据类型,nullable 类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值 1. 例如,Nullable< Int32 >,读作”可空的 Int32”,可以被赋值为 -2,147,483,648 到 2,147,483,647 之间的任意值,也可以被赋值为 null 值

Jacob Ni 857

CiteSpace基础操作(CNKI数据的导入分析)(一)

1 Cite Space简单介绍 2 文献导入 2.1 打开知网,选择高级检索

m0_50990607的博客 5万+

int? 竟然真的可以是 null!.NET/C# 确定可空值类型 Nullable 实例的真实类型

使用 Nullable<T> 我们可以为原本不可能为 null 的值类型像引用类型那样提供一个 null 值。不过注意:Nullable<T> 本身也是个 struct,是个值类型哦。这意味着你随时可以调用 .HasValue 这样的方法,而不用担心会出现 NullReferenceException。 等等!除了本文提到的一些情况。 本文内容 ...

weixin_30730151的博客 610

手把手教你学Simulink--FIR滤波器的设计与优化仿真

FIR滤波器的设计目标通常包括指定的频率响应特性(如低通、高通、带通或带阻),以及特定的应用需求(如线性相位、最小化误差等)。Simulink提供了一个直观且强大的平台来模拟这些设计,并允许用户通过调整参数实时观察其对系统性能的影响。明确你的系统需求,比如输入信号类型(如正弦波组合)、采样率、FIR滤波器的设计参数(如滤波器类型、阶数、截止频率等)。假设我们需要设计一个低通FIR滤波器,用来去除高于1kHz的所有频率成分,保留低于1kHz的信号成分。采样率为8kHz。

MHD0815的博客 346

【ARM CoreLink 系列 5.3 -- CI-700 SLC memory 系统组件详细介绍】

在 CI-700 系统级缓存(SLC)内存系统中,HN-F 节点负责管理缓存一致性和数据传输。每个 HN-F 节点可以发送三种类型的 Snoop 请求,以确保系统中多核处理器和缓存之间的一致性。CI-700 中的系统级缓存(SLC)内存系统通过 HN-F 节点支持 TrustZone® 技术。以下是 CI-700 支持的 SN 类型以及配置方法的简要介绍。ARM CI-700 系统级缓存(SLC)是一个分布式、主要排他性(mostly exclusive) 的最后一级缓存,集成在 HN-F 节点内。

CodingCos的博客 897

C# Nullable可空类型

C# Nullable可空类型  一个Nullable类型就是基本类型加上一个"是否为null指示器"的合成类型。对于一个类型,如果既可以给他分配一个值,也可以给它分配null引用,我们就说这个类型是可空的。   可空类型会多了两个属性   1、HasValue...

192

基于Simulink的电机轴电压与轴电流抑制仿真

本文带你完成了电机轴电压与轴电流抑制的Simulink仿真,实现了:✅ 揭示了共模电压 → 寄生电容 → 轴电压 → 轴承电蚀的完整链路✅ 搭建了含寄生参数的高频电机等效模型共模电压最小化PWM(源头抑制)dv/dt滤波器(路径阻断)轴接地(终端泄放) ✅ 通过仿真验证了轴电压从68 V降至<3 V的显著效果 ✅ 为高可靠性电机系统提供低成本、高效益的轴承保护方案。

amy_mhd的博客 162

C#【中级篇】 C# 可空类型(Nullable)

? 单问号用于对 int、double、bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 Nullable 类型的。 ?? 双问号用于判断一个变量在为 null 的时候返回一个指定的值。

星Yeah 的博客 1848

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

14.C# 可空类型(Nullable)说明——《跟老吕学C#》

在C#编程中,当我们需要表示一个变量可能不含有值时,我们可以使用可空类型。这种类型允许变量在某些情况下持有特定的数据类型值,而在其他情况下则为null。这种灵活性在很多实际编程场景中都是非常有用的。首先,我们来看看如何定义可空类型。// 定义一个可空整型变量,初始化为nullint?Console.WriteLine("nullableInt的初始值为:" + (nullableInt.HasValue?// 定义一个可空双精度浮点型变量,并初始化为42.0double?

Python老吕的博客 1517

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

C#-【可空类型Nullable】-OK

C#梳理【可空类型Nullable】 2017年09月11日 15:25:37HawkJony阅读数 359 C# 可空类型(Nullable) C# 提供了一个特殊的数据类型,nullable类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。 例如,Nullable< Int32 >,读作"可空的 Int32",可以被赋值为 -2,...

cxu123321的博客 150

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

c#----可空类型Nullable

c#提供了一个特殊的数据类型,nullable类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个null值。例如:Nullable<Int32>,读作可空的Int32,可以被赋值为 -2,147,483,648 到 2,147,483,647 之间的任意值,也可以被赋值为 null 值。Null合并运算符把操作数类型隐式转换为另一个可空或不可空的值类型的操作数的类型。如果第一个操作数的值为null,则运算符返回第二个操作数的值,否则返回第一个操作数的值。

咯吱窝的博客 330

【C#】可空类型(Nullable)

C# 可空类型(Nullable) C# 提供了一个特殊的数据类型,nullable类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。 例如,Nullable< Int32 >,读作"可空的 Int32",可以被赋值为 -2,147,483,648 到 2,147,483,647 之间的任意值,也可以被赋值为 null 值。类似的,...

Bryant1024的博客 164

c#可空类型(Nullable)

c#提供了一个特殊的数据类型,nullable类型(可空类型)可空类型可以表示其基础值类型正常范围内的值,再加上一个null值 例如,Nullable,读作可空的int32,可以被赋值为-2147483648到2147483647之间的任意值,也可以被赋值为null值,类似的,Nullable变量可以被赋值为ture或false或null 在处理数据库和其他包含可能未赋值的元素的数据类型时,将

qq_34460386的博客 577

C#(Csharp)笔记十四——C# 可空类型(Nullable)

C# 单问号 ? 与 双问号 ??

qq_44544908的博客 545

C#【中级篇】可空类型(Nullable)

C# 可空类型(Nullable) C# 单问号 ? 与 双问号 ?? ? : 单问号用于对 int,double,bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 NullAble 类型的。 int? i = 3 等同于 Nullable<int> i = new Nullable<int>(3); int i; /...

星Yeah 的博客 962
上一篇: C# 方法详解:定义、调用与参数传递
下一篇: 【C# 数组详解】Array 定义、初始化、遍历、内存原理与面试高频问题
bugcome_com
博客等级 码龄3年 32粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bugcome_com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值