C#的数据类型
类型 | 说明 | 范围 |
---|---|---|
sbyte | 8位有符号整数 | -128——127 |
short | 16位有符号整数 | -32768——32767 |
int | 32位有符号整数 | -2147483648——2147483647 |
long | 64位有符号整数 | -9223372036854775808——9223372036854775807 |
bythe | 8位无符号整数 | 0——255 |
ushort | 16位无符号整数 | 0——65535 |
uint | 32位无符号整数 | 0——4294967295 |
ulong | 64位无符号整数 | 0——18446744073709551615 |
float | 精准到7位数 | 1.5*(10-45)——3.4*(1038) |
double | 精准到15-16位数 | 5.0*(10-324)——1.7*(10308) |
数据类型:1.值类型(整数,实数,字符,布尔,结构,枚举,高精度数据类型(decimal)-存储数据值-默认值为0,bool默认值为false)
2.引用类型(类,接口,数组,委托)*/
/*
float theMysum = 9.27f; --数据类型float类型 7位数
float theMysum = 9.27F; --数据类型float类型 7位数
float theMysum = 9.27d; --数据类型double类型 15-16位数
float theMysum = 9.27D; --数据类型double类型 15-16位数
float theMysum = 9.27; --数据类型double类型 15-16位数
float theMysum = 9.27m; --数据类型decimal类型 128位数
float theMysum = 9.27M; --数据类型decimal类型 128位数
C#的引用类型
引用类型存储对值的引用
C#的object类
基础类,默认.可以不定义
C#的string类
简化字符串操作
C#的枚举
- 一组描述性名称
- 一组有限的值
- 值进行约束
- 值为整数值
- 增加程序的可读性和执行性
- 创建枚举关键字-enum
C#的数据类型转换
格式说明符 | 名称 |
---|---|
C/c | 货 |
D/d | Decimal |
E/e | 指数 |
F/f | 定点 |
N/n | Number |
P/p | 百分比 |
X/x | 十六进制 |
d | Y-M-D |
D | Y年M月D日 |
f | Y年M月D日 hh::mm |
F | Y年M月D日 hh::mm:ss |
g | Y-M-D hh::mm |
G | Y-M-D hh::mm:ss |
M/m | M月D日 |
t | hh::mm |
T | hh::mm:ss |
Y/y | Y年M月 |
隐式类型转换
- 两种转换类型必须兼容(double-int)
- 目标类型精度大于源类型精度
显式类型转换
- Convert.To类型名(表达式)
目的:可以预估转换的数据类型是否出现数据溢出 - Parse(表达式)
目的:数值类型
C#的装箱与拆箱
- 值类型与引用类型
- int与obj
C#的常量
定义:不能改变的数据
C#的编译时常量-const-必须对编译式常量进行赋值
const int MyWInt = 112;
C#的运行时常量-readonly
static readonly double MyWInt2 = 3.14;
static readonly double MyWInt3;
static Program()
{
MyWInt3 = 3.15;
}
通过设置的类,在VS中进行选择,实现单一类调试的目的
C#的运算符
运算符使用时的结果为bool类型
1.a<b<c
C#写法:a<b&&b<c
C#的字符类型
目的:使用char/Char类定义字符,必须使用单引号使用.
char e = '|';
Char f = ' ';
多个字符串的使用:string
1.string str1 = "C#";
2.string a1 = "C1#",b1 = "C2#";
3.string c1, d1;
{
c1 = "C3#";
d1 = "C4#"; }
举例:
static void Main(string[] args)
{
//1
string str1 = "C#";
//2
string a1 = "C1#",b1 = "C2#";
//3
string c1, d1;
{
c1 = "C3#";
d1 = "C4#"; }
//4
char[] e1 = { '你','我','好','是'};
string l1= new string(e1, 1, 2);
//5
char a = 'a'; //声明字符a
//6
char b = '8'; //声明字符b
//7
char c = 'L'; //声明字符c
//8
char d = '.'; //声明字符d
//9
char e = '|'; //声明字符e
//10
Char f = ' '; //声明字符f
//打印输入
//使用IsLetter方法判断str1是否为字母
Console.WriteLine(str1);
//使用IsLetter方法判断a1是否为字母
Console.WriteLine(a1);
//使用IsLetter方法判断b1是否为字母
Console.WriteLine(b1);
//使用IsLetter方法判断c1是否为字母
Console.WriteLine(c1);
//使用IsLetter方法判断d1是否为字母
Console.WriteLine(d1);
//使用IsLetter方法判断l1是否为字母
Console.WriteLine(l1);
//使用IsLetter方法判断a是否为字母
Console.WriteLine("IsLetter方法判断a是否为字母:{0}", Char.IsLetter(a));
//使用IsDigit方法判断b是否为数字
Console.WriteLine("IsDigit方法判断b是否为数字:{0}", Char.IsDigit(b));
//使用IsLetterOrDigit方法判断c是否为字母或数字
Console.WriteLine("IsLetterOrDigit方法判断c是否为字母或数字:{0}", Char.IsLetterOrDigit(c));
//使用IsLower方法判断a是否为小写字母
Console.WriteLine("IsLower方法判断a是否为小写字母:{0}", Char.IsLower(a));
//使用IsUpper方法判断c是否为大写字母
Console.WriteLine("IsUpper方法判断c是否为大写字母:{0}", Char.IsUpper(c));
//使用IsPunctuation方法判断d是否为标点符号
Console.WriteLine("IsPunctuation方法判断d是否为标点符号:{0}", Char.IsPunctuation(d));
//使用IsSeparator方法判断e是否为分隔符
Console.WriteLine("IsSeparator方法判断e是否为分隔符:{0}", Char.IsSeparator(e));
//使用IsWhiteSpace方法判断f是否为空白
Console.WriteLine("IsWhiteSpace方法判断f是否为空白:{0}", Char.IsWhiteSpace(f));
Console.ReadLine();
}
}
}
C#的字符串比较关键字
- 输出二组字符串比较得到返回值int值-Compare.
- 输出二组字符串比较得到返回值int值-CompareTo.
- 输出二组字符串比较得到返回值是否相同(bool值)-Equals.
字符串格式化
1.输出二组字符串的格式化(Format)-得到组合数据.
C#的截取字符串Substring
C#的字符串分割Split
C#的插入字符串Insert
C#的删除字符串Remove
C#的填充字符PadLeft&PadRight
C#的复制字符串Copy
C#的复制一部分字符串CopyTo
C#的替换字符串Replace
C#的可变字符串StringBuilder-使用数据频繁可以写成该类型
C#的语句
C#的foreach语句
语法 foreach([类型] [矢代变量名]in[集合表达式])
{
语句
}
C#的转移语句(break,continue,goto语句)
break
switch中的break语句为结束分支为目的
通常在switch,while,do…while或for循环语句
C#的continue
通常在while,do…while,for循环使用
C#的goto语句
语法:goto tes1;
进入到goto语句时,只执行tes1的语句
C#的一维数组的初始化3种方式
1.int[] a=new int[3];
a[0]=7;
a[1]=8;
a[2]=9;
2.int[]b=new int[3]{4,5,6};
3.int[]c={1,2,3};
C#的二维数组2种方式
1.int[,]a=new int[2,4];//创建1
a[0,0]=0;//初始化1
a[0,1]=1;//初始化1
a[1,0]=1;//初始化1
a[1,1]=2;//初始化1
2.int[][] a = new int [2][];//创建2
a[0]=new int[2];//初始化2
a[1]=new int[3];//初始化2
3.int[,]a=new int[2,2]{{12,0},{45,10}};//创建+初始化3
int[,]a=new int[,]{{12,0},{45,10}};//创建+初始化3
int[,]a={{12,0},{45,10}};//创建+初始化3
C#的foreach语句
规定:必须是集合类型数据
语法:
foreach([类型] [矢代变量名] in [集合])
{
语句
}
C#的针对数组进行排序 Sort(安排大小)/Reverse(位置反转)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MAIN08
{
class Program
{
static void Main(string[] args)
{
int[] arr1 = { 25, 20, 90, 5 };
int[] arr2 = { 25, 20, 90, 5 };
Array.Sort(arr1);
Array.Reverse(arr2);
Console.WriteLine("打印原数据25.20.90.5的Sort型:");
foreach (int i in arr1)
{
Console.WriteLine(i);
}
Console.WriteLine("打印原数据25.20.90.5的Reverse型:");
foreach (int b in arr2)
{
Console.WriteLine(b);
}
Console.ReadLine();
}
}
}
C#的ArrayList类
位置:System.Collections命名空间
1.使用默认构造器
ArrayList List = new ArrayList();//使用声明的一维数组实例化一个ArrayList对象
2.使用一个ICollection对象来构造
3.指定大小初始化内部的数组
元素添加的方法
1.Add方法
public virtual int Add (Object value)
2.Insert方法
public virtual void Insert(int index,Object value)
//index表示从零开始的索引 插入位置value
元素删除的方法
1.Clear方法
public virtual void Clear ()
//删除所有
2.Remove方法
public virtual void Remove (Object obj)
//obj-删除Object的第一个对象
3.RemoveAt方法
public virtual void RemoveAt(int index)
//index-删除指定位置
4.RemoveRange方法
public virtual void RemoveRange(int index,int count)
//index--删除指定位置
//count--删除个数
元素的查找
public virtual bool Contains(Object item)
//item:查找条件 输出bool型
C#的Hashtable
语法
1.初始化数据
public Hashtable()
2.指定初始化
public Hashtable (int capacity)
元素的添加
public virtual void Add(Object key,Object value)
//key:添加元素的键
//value:添加元素的值,可以空引用
元素的删除
1.Clear方法
public virtual void Clear()
2.Remove方法
public virtual void Remove(Object key)
//key:添加元素的键
元素的查找
1.Contains方法
public virtual bool Contains(Object key)
//key:查找元素
2.Contains Value方法
public virtual bool ContainsValue(Object value)
//value:定位值
//返回值只用bool型
C#的私有类型的说明-private
C#的方法
语法:
访问修饰符 返回类型 方法名(参数列表)
{
方法的主体
}
Program类
元素的交换ref 关键字
元素调用out 关键字
pro.Add(x,y,out z);