首页 / C# / C# 数据类型与流程控制
C# 数据类型与流程控制
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# 数据类型与流程控制,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2203字,纯文字阅读大概需要4分钟。
内容图文
![C# 数据类型与流程控制](/upload/InfoBanner/zyjiaocheng/1077/5c4851ad275644128b8049b58ea39021.jpg)
C# 数据类型与流程控制
1. 数据类型
C#数据类型分为两类:值类型和引用类型
- 值类型:包括简单类型、枚举类型、结构类型、可空类型
- 引用类型:包括类、接口、数组、委托。一般把引用类型的变量称为对象。
![技术分享图片](/upload/getfiles/default/2022/10/27/20221027054333990.jpg)
下文仅介绍部分数据类型
1.1 常量
const double pi = 3.14;
常量是在编译时设定其值,在对程序进行编译时把所有const常量全部替换为常数。
1.2 隐式类型的局部变量
- 隐式类型的变量不必指定“局部”变量的具体类型,而是使用
var
来表示类型,称为匿名类型。 - 在LINQ表达式或foreach语句中,使用匿名类型的变量比较方便。但不建议大量使用。
在使用var
类型时,虽然不是显式声明,但在编译期已经确定了其变量类型。c#中的var
关键字实际上类似于c++中的auto
关键字。
1.3 简单类型
![技术分享图片](/upload/getfiles/default/2022/10/27/20221027054335833.jpg)
1.4 字符转义
![技术分享图片](/upload/getfiles/default/2022/10/27/20221027054336727.jpg)
![技术分享图片](/upload/getfiles/default/2022/10/27/20221027054337990.jpg)
1.5 可空类型
表示可以为null值的类型,例如int?
读作可以为null的Int32类型,就是说可以将其赋值为任一个32位整数值,也可以将其赋值为null。
int? age = 0;
int? n = null;
double? d = 4.108;
bool? isFlag = false;
在处理数据库和其他包含不可赋值的元素的数据类型时,可以为null的值类型特别有用。
1.6 字符串
![技术分享图片](/upload/getfiles/default/2022/10/27/20221027054338979.jpg)
1.7 数组
c# 中的多维数组实际上是张量tensor
。
示例:
- 一维数组
int [] arr = {1, 2, 3, 4, 5};
int len = arr.Length
for(int i = 0; i < len; ++i)
{
Console.WriteLine(arr[i]);
}
- 二维数组
int [,] arr = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
int r = arr.GetLength(0);
int c = arr.GetLength(1);
for(int i = 0; i < r; ++i)
{
for(int j = 0; j < c; ++j)
{
Console.WriteLine(arr[i, j]);
}
}
- 三维数组
int [,,] arr = { { { 1, 2 }, { 3, 4 } }, { { 5, 6 }, { 7, 8 } } };
int d0 = arr.GetLength(0);
int d1 = arr.GetLength(1);
int d2 = arr.GetLength(2);
for(int i = 0; i < d0; ++i)
{
for(int j = 0; j < d1; ++j)
{
for(int k = 0; k < d2; ++k)
{
Console.WriteLine(arr[i, j, k]);
}
}
}
交错数组
交错数组是一个一维数组,每一个元素又是一个数组对象
// 1. 交错数组, 每个元素是一个一维数组
int[][] arr = new int[2][]
{
new int[]{ 1, 2, 3, 4, 5, 6 },
new int[]{ 7, 8, 9, 10, 11, 12 }
};
int len = arr.Length;
for(int i = 0; i < len; ++i)
{
int ll = arr[i].Length;
for(int j = 0; j < ll; ++j)
{
Console.WriteLine(arr[i][j]);
}
}
// 2. 交错数组, 每个元素又是一个二维数组
int[][,] arr = new int[2][,]
{
new int[,] { { 2, 4 },{ 6, 8 } },
new int[,]{ { 1, 3 }, { 5, 9 } }
};
int len = arr.Length;
for(int i = 0; i < len; ++i)
{
int r = arr[i].GetLength(0);
int c = arr[i].GetLength(1);
for(int j = 0; j < r; ++j)
{
for(int k = 0; k < c; ++k)
{
Console.WriteLine(arr[i][j, k]);
}
}
}
2. 运算符和表达式
System.Type tp = typeof(int)
获取类型的Type
对象
2.2 is 运算符
检查对象是否为某一个类的实例,返回一个布尔值。
if(o is Class1){
a = (Class1)o;
}
2.3 as 运算符
x as T
为返回类型为T的x,如果x不为T类型则返回null
Class1 c = b as Class1;
if(c != null){
// ...
}
2.4 foreach语句
foreach(类型 标识符 in 表达式){
语句序列
}
// 注意:循环变量是一个只读的局部变量
原文:https://www.cnblogs.com/popodynasty/p/14727123.html
内容总结
以上是互联网集市为您收集整理的C# 数据类型与流程控制全部内容,希望文章能够帮你解决C# 数据类型与流程控制所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。