.Net基础之5——复杂数据类型
(1)复习
1、变量
int double string char bool decimal
变量的使用规则:先声明再赋值最后使用
2、Camo Pascal
3、运算符
赋值运算符:=
复合赋值运算符:+=、-=、*=、/=、%=
算数运算符:+ - * / %
关系运算符:> < >= <= == !=
逻辑运算符: && || !
4、C#中的语法结构
(2)常量
声明常量的语法: const 变量类型 变量名 = 值;
const int number = ;//常量,不能被重新赋值
(3)枚举
语法:
[public] enum 枚举名
{
值1,
值2,
值3,
......
}
public:访问修饰符。公开的公共的,哪都可以访问。
enum:关键字,声明枚举的关键字。
枚举名:要符合Pascal命名规范。
将枚举声明到命名空间的下面,类的外面,表示这个命名空间下,所以的类都可以使用这个枚举。
枚举就是一个变量类型,只是枚举声明、赋值、使用的方式跟普通的变量类型不一样。
//声明了一个枚举Gender
public enum Gender
{
男,
女,
}
public enum Sesons
{
春,
夏,
秋,
冬
}
public enum QQState
{
OnLine,
OffLine,
Leave,
Busy,
QMe
}
class Program
{
static void Main(string[] args)
{
//变量类型 变量名=值;
Gender gender = Gender.男;
Sesons s = Sesons.春;
QQState state = QQState.Busy;
}
}
(4)枚举类型和string以及int类型之间的转换
7、所有的类型都能够转换成string类型,调用ToString()。
public enum QQState
{
OnLine,
OffLine,
Leave=,
Busy,
QMe
}
static void Main(string[] args)
{
#region 将枚举类型强转成int类型
QQState state = QQState.OnLine;
//枚举类型默认可以跟int类型互相转换,枚举类型跟int类型是兼容的。
int n = (int)state;
Console.WriteLine(n);//
Console.WriteLine((int)QQState.OffLine);//
Console.WriteLine((int)QQState.Leave);//
Console.WriteLine((int)QQState.Busy);//
Console.WriteLine((int)QQState.QMe);//
Console.ReadKey();
#endregion
static void Main(string[] args)
{ #region 将int类型转换成枚举类型(不能转换的将输出数字)
int n1 = ;
QQState state = (QQState)n1;
Console.WriteLine(state); //OffLine
Console.ReadKey();
#endregion
}
static void Main(string[] args)
{ #region 将枚举类型转换成字符串类型
//所以的类型都可以转换成string类型
QQState state = QQState.OnLine;
string s = state.ToString();
Console.WriteLine(s);
Console.ReadKey();
#endregion
}
static void Main(string[] args)
{ //将string类型转换成枚举类型(不能转换的文本将抛异常,数字不抛异常)
string s = "";
//将s转换成枚举类型
//Convert.ToString() int.Parse() int.TryParse()
//调用Parse()方法的目的就是为了让它帮助我们将一个字符串转换成对应的枚举类型
QQState state =(QQState ) Enum.Parse(typeof(QQState), s);
Console.WriteLine(state); //OnLine
Console.ReadKey();
}
//枚举练习
//提示用户选择一个在线状态,我们接受,并将用户的输入转换成枚举类型
//再次打印到控制台 Console.WriteLine("请选择您QQ的在线状态 1--OnLine 2--OffLine 5-Leave 6--Busy 7--QMe");
string s = Console.ReadLine(); //输入1
//int i = int.Parse(s);
//QQState state = (QQState)i; //输出OffLine //QQState state = (QQState)Enum.Parse(typeof(QQState), s);
//Console.WriteLine(state); //输出OffLine switch (s)
{
case "":
QQState s1 = (QQState)Enum.Parse(typeof(QQState), "OnLine");
Console.WriteLine("您选择的在线状态是{0}", s1);
break;
case "":
QQState s2 = (QQState)Enum.Parse(typeof(QQState), "OffLine");
Console.WriteLine("您选择的在线状态是{0}", s2);
break;
case "":
QQState s5 = (QQState)Enum.Parse(typeof(QQState), "Leave");
Console.WriteLine("您选择的在线状态是{0}", s5);
break;
case "":
QQState s6 = (QQState)Enum.Parse(typeof(QQState), "Busy");
Console.WriteLine("您选择的在线状态是{0}", s6);
break;
case "":
QQState s7 = (QQState)Enum.Parse(typeof(QQState), "QMe");
Console.WriteLine("您选择的在线状态是{0}", s7);
break;
}
Console.ReadKey();
(5)结构
可以帮助我们一次性声明多个不同类型的变量
语法:
[public] struct 结构名
{
成员;//字段
}
变量在程序运行时只能存储一个值,而字段可以存储多个值。
public struct Person
{
public string _name; //字段
public int _age;
public char _gender;
}
static void Main(string[] args)
{
Person zsPerson; //声明
zsPerson.name = "张三";
zsPerson.age = ;
zsPerson.gender = '男'; Person lsPerson; //声明
lsPerson.name = "李四";
lsPerson.age = ;
lsPerson.gender = '女';
}
//练习:定义一个结构类型Person,有三个成员变量,分别为姓名、性别、年龄
//性别用枚举类型
//声明两个Person类型的变量,分别表示张三 男 18岁/小兰 女 16岁
public struct Person
{
public string _name;
public int _age;
public Gender _gender;
}
public enum Gender
{
男,
女
}
static void Main(string[] args)
{
Person zsPerson;
zsPerson._name = "张三";
zsPerson._age = ;
zsPerson._gender = Gender.男;
Person laPerson;
laPerson._name = "小兰";
laPerson._age = ;
laPerson._gender = Gender.女; Console.WriteLine("{0},{1},{2}岁", zsPerson._name, zsPerson._gender, zsPerson._age);
Console.WriteLine("{0},{1},{2}岁", laPerson._name, laPerson._gender, laPerson._age);
Console.ReadKey(); }
(6)数组的定义
一次性存储多个相同类型的变量。
****数组的长度一旦固定了,就不能改变了。超出数组长度则抛出异常。
语法:
数组类型[] 数组名=new 数组类型 [数组长度] ;
int[] nums = new int[];//声明,默认初始化都为0
//赋值
for(int i=;i<nums.Length ;i++)
{
nums[i] = i;
}
for (int i = ; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
Console.ReadKey();
string[] str =new string []; //声明,默认初始化为null。null不等于空。 bool[] bools=new bool []; //声明,默认初始化为false。
(7)计算数组的最大值、最小值、总和、平均值
int max = int.MinValue;
int max = int.MaxValue;
(10)方法的简介
函数就是一堆代码进行重用的一种机制。
函数的语法:
[public] static 返回值类型 方法名([参数列表])
{
方法体;
}
public:访问修饰符,公开的,公共的,哪都能进行访问。
static:静态的。
返回值类型:如果不需要写返回值,写void。
方法名:Pascial。
参数列表:完成这个方法所必须要提供给这个方法的条件。
12、return
1)、返回要返回的值。
2)、立即结束本次的方法。
方法调用的语法:
类名.方法名([参数]);
/// <summary>
/// 计算两个整数之间的最大值并将最大值返回
/// </summary>
/// <param name="n1">第一个整数</param>
/// <param name="n2">第二个整数</param>
/// <returns>将最大值返回</returns>
public static int GetMax(int n1, int n2)
{
return n1 > n2 ? n1 : n2;
}
static void Main(string[] args)
{
//计算两个整数之间的最大值
int max= Program.GetMax(, );
Console.WriteLine(max);
Console.ReadKey();
}
(11)方法的细节问题
.Net基础之5——复杂数据类型的更多相关文章
- Java02-java语法基础(一)数据类型
Java02-java语法基础(一)数据类型 一.语法基础 语句:以分号(;)结束 System.out.println(“Hello World !”); 语句块:用一组花括号({})括起来 { … ...
- Java基础(二) 基本类型数据类型、包装类及自动拆装箱
我们知道基本数据类型包括byte, short, int, long, float, double, char, boolean,对应的包装类分别是Byte, Short, Integer, Long ...
- Java编程基础——常量变量和数据类型
Java编程基础——常量变量和数据类型 摘要:本文介绍了Java编程语言的常量变量和数据类型. 常量变量 常量的定义 一块内存中的数据存储空间,里面的数据不可以更改. 变量的定义 一块内存中的数据存储 ...
- openresty开发系列13--lua基础语法2常用数据类型介绍
openresty开发系列13--lua基础语法2常用数据类型介绍 一)boolean(布尔)布尔类型,可选值 true/false: Lua 中 nil 和 false 为"假" ...
- MySQL基础(1) | 数据类型
MySQL基础(1) | 数据类型 数值类型 TINYINT #小整数值,1 字节,有符号(-128,127),无符号(0,255) SMALLINT #大整数值,2 字节 MEDIUMINT #大整 ...
- c# 基础部分 (基本数据类型-- 表达式)
一 基础部分 1.常用的基本数据类型 int longing(长整) shortint(短整) string(文本型) char(字符型) bool (布尔型) false true 2.常量于变量 ...
- C++基础回顾1(数据类型, 控制语句, 数组)
最近两天打开本科学校的C++教材,快速回顾了一下C++方面的内容.虽然书本内容比较基础,但是还是有些知识点值得自己强化记忆.分几篇文章,加上自己的理解记录如下. 先回顾面向过程的部分. C++数据类型 ...
- Java学习之旅基础知识篇:数据类型及流程控制
经过开篇对Java运行机制及相关环境搭建,本篇主要讨论Java程序开发的基础知识点,我简单的梳理一下.在讲解数据类型之前,我顺便提及一下Java注释:单行注释.多行注释以及文档注释,这里重点强调文档注 ...
- python基础之五大标准数据类型
学习一门语言,往往都是从Hello World开始. 但是笔者认为,在一个黑框框中输出一个"你好,世界"并没有什么了不起,要看透事物的本质,熟悉一门语言,就要了解其底层,就是我们常 ...
- python基础(二)-------数据类型
python开发基础篇(二)数据类型 python数据类型有: 1.数字 1.只能存放一个值 2.一经定义,不可更改 3.直接访问 主要的分类为:整型,长整型,(python2有长整型的概念Pytho ...
随机推荐
- 标准库shelve
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ...
- 谷歌浏览器报错Unchecked runtime.lastError: The message port closed before a response was received.。
浏览器版本 : 报错原因:扩展程序问题 解决建议:打开chrome://extensions/,逐一关闭排查
- 1745 Divisibility
Divisibility Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 14084 Accepted: 4989 Descrip ...
- Fiddler手机端抓包环境设置与过滤(二)
经过了上一篇,我们已经配好了PC与手机端的抓包环境可以实现抓包.传送机:https://www.cnblogs.com/jc-home/p/11668712.html 但是如果不经过筛选的话抓到的内容 ...
- JavaScript从入门到精通(转)
JavaScript从入门到精通 转自: https://github.com/Eished/JavaScript_notes 视频连接:https://www.bilibili.com/video/ ...
- centos8-django项目部署 nginx+uwsgi
1.虚拟环境virtualenv安装 1.安装virtualenv pip3 install virtualenv 2.创建目录,把项目文件传过来 mkdir My cd My 3.创建独立运行环境- ...
- thinkphp 5.x~3.x 文件包含漏洞分析
漏洞描述: ThinkPHP在加载模版解析变量时存在变量覆盖的问题,且没有对 $cacheFile 进行相应的消毒处理,导致模板文件的路径可以被覆盖,从而导致任意文件包含漏洞的发生. 主要还是变量覆盖 ...
- B. Phoenix and Beauty(贪心构造)
\(给定序列长n的数组和k.完美数组的定义是数组中每一个连续k项的子段和为定值\) \(现在要求插入一些数使得数组满足条件,输出你构造的新数列.\) \(\color{Red}{----------- ...
- Java 面向对象和封装
目录 面向对象思想的概述 类和对象的关系 什么是类 什么是对象 类和对象的关系 局部变量和成员变量的区别 this关键字 构造方法 一个标准的类 面向对象思想的概述 面向过程:当需要实现一个功能的时候 ...
- oracle如何实现去重和分页
一:oracle实现去重: user数据表: 分两步:1.查询重复数据 2.删除重复数据 1.查询重复数据:在oracle中实现查询重复数据,可以借助于rowid这个伪列.oracle中每个表物理上 ...