unity基础学习二十,c#算法常用函数

1.Math有关

Math.Abs() 计算绝对值
Math.Acos() 计算反余弦值
Math.Asin() 计算反正弦值
Math.Atan() 计算反正切值
Math.Atan2() 计算从x 坐标轴到点的角度
Math.Ceil() 将数字向上舍入为最接近的整数
Math.Cos() 计算余弦值
Math.Exp() 计算指数值
Math.Floor() 将数字向下舍入为最接近的整数
Math.Log() 计算自然对数
Math.Max() 返回两个整数中较大的一个
Math.Min() 返回两个整数中较小的一个
Math.Pow() 计算x 的y 次方
Math.Random() 返回一个0.0 与1.0 之间的伪随机数
Math.Round() 四舍五入为最接近的整数
Math.Sin() 计算正弦值
Math.Sqrt() 计算平方根
Math.Tan() 计算正切值
Math.E =  2.718 欧拉(Euler) 常数,自然对数的底(大约为2.718)
Math.LN2:2 的自然对数(大约为0.693)
Math.LOG2E e 的以2 为底的对数(大约为1.442)
Math.LN2 10 的自然对数(大约为2.302)
Math.LOG10E e 的以10 为底的对数(大约为0.434)
Math.PI 一个圆的周长与其直径的比值(大约为3.14159)
Math.SQRT1_2 1/2 的平方根的倒数(大约为0.707)
Math.SQRT2 2 的平方根(大约为1.414)

2.类型转换有关

在C#中,类型铸造有两种形式:

  1. 隐式类型转换 这些转换是C#默认的以安全方式进行的转换,不会导致数据丢失。例如:从小的整数类型转换为大的整数类型,从派生类转换为基类。
  2. 显式类型转换 显式类型转换即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。

隐式数值转换实际上就是从低精度的数值类型到高精度的数值类型的转换。隐式数值转换包括以下几种:

  • 从sbyte类型到short,int,long,float,double或decimal类型
  • 从byte类型到short,ushort,int,uint,long,ulong,float,double或decimal类型
  • 从short类型到int,long,float,double或decimal类型
  • 从ushort类型到int,uint,long,ulong,float,double或decimal类型
  • 从int类型到long,folat,double,或decimal类型
  • 从uint类型到float,ulong,long,double或decimal类型
  • 从long类型到float,double或decimal类型
  • 从ulong类型到float,double或decimal类型
  • 从char类型到ushort,int,uint,long,ulong,float,double或decimal类型
  • 从float类型到double类型

显式类型转换即强制类型转换。显式转换需要强制转换运算符,而且强制转换会造成数据丢失。

强制类型转换主要用于将存储范围大的数据类型转换成存储范围小的。

转换语法:

数据类型变量名=(数据类型)变量名或值

double dbl_num=123456.456;
int k=(int) dbl_num;//此处运用了强制转换

数据类型转换方法

2.1 Parse方法

基本数据类型.Parse(字符串类型的值);


int num=int.Parse(value);

 2.2 Convert方法

数据类型 变量名=convert.To数据类型(变量名);

Convert类常用的类型转换方法如下表所示:

 2.3 装箱和拆箱

装箱:将值类型转换为引用类型的操作。

拆箱:相应地将引用类型转换为值类型。

利用装箱和拆箱功能,可通过允许值类型的任何值与Object类型的值相互转换,将值类型与引用类型连接起来。

int val=100;
object obj=val;
Console.WriteLine("对象的值={0}",obj);
//这是一个装箱的过程,是将值类型转换为引用类型的过程
 
int num=(int)obj;
Console.WriteLine("num:{0}",num);
//这是一个拆箱的过程,有引用类型转换为值类型的过程

 

3.数据结构有关

3.1 Array数组

double[] balance = new double[10];
double[] balance = { 2340.0, 4523.69, 3421.0};
//不限定长度
int [] marks = new int[] { 99, 98, 92, 97, 95};

长度:marks.Length;

3.2 二维数组

定义:

int[,] map;

初始化:

//动态初始化
int[,] map = new int[5,3];
int[,] map = new int[,]{{1,0,1},{3,0,5}};

//静态初始化
int[,] map = {{1,0,1},{3,0,5}};

//访问
map[3,2]

长度:

  • 总长度(二维数组的元素个数):Array.Length
  • 第一维的长度:Array.GetLength(0)
  • 第二维的长度:Array.GetLength(1)
for (int i = 0; i < array.GetLength(0); i++) 
{ 
    for (int j = 0; j < array.GetLength(1); j++) 
    { 
        Console.Write(array[i,j] + "\t"); 
    } 
    //换⾏ 
    Console.WriteLine(); 
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值