new string[] { "1", "2", "3", "4" }.Concat(new string[] { "a", "b" }).ToArray();
4.正则表达式
System.Text.RegularExpressions.Regex.IsMatch("nmb", @"^[-]?\d+[.]?\d*$");
5.C# 类型方法扩展:
以字串类型为例:
" 你的偶像是{0}".TTOFormat("张国荣","本山","不二做");
1.1.ToInt();
作用:极大的提升开发效率,减少垃圾代码的出现
public static class TTOFormatHelper
{
/// <summary>
/// 字符串格式化新增扩展
/// </summary>
/// <param name="_str"> this T para</param>
/// <param name="values">可变参数数组</param>
/// <returns></returns>
public static string TTOFormat(this string _str, params object[] values)
{
return string.Format(_str, values);
}
public static int ToInt(this float _float)
{
return (int)_float;
}
}
7.C# Directory.GetFiles()获取多个类型格式的文件
第一种方式
System.IO.Directory.GetFiles()获取多个类型格式的文件
System.IO.Directory.GetFiles("c:\","(*.jpg|*.bmp)");
第二种方式
var files = Directory.GetFiles("C:\\path", "*.*", SearchOption.AllDirectories)
.Where(s => s.EndsWith(".bmp") || s.EndsWith(".jpg"));
7.持续更新中... ....
引擎篇:
Unity:
0.屏幕是否休眠
Screen.sleepTimeout = SleepTimeout.NeverSleep;
1.坐标间的转换
世界坐标转屏幕坐标:
Vector3 screenPos = Camera.main.WorldToScreenPoint(pos);
屏幕坐标转世界坐标:
Vector3 worldPos = Camera.main.ScreenToWorldPoint(pos);
2.旋转
1.最简单的旋转代码,只需要输入旋转的轴向和旋转速度就可以实现自身的旋转了
this.transform.Rotate (Vector3.up * rotaSpeed);
2.围绕某个点的旋转,参数分别是 1.需要围绕的点 2.旋转的轴向 3.旋转的速度
this.transform.RotateAround (Vector3.zero, Vector3.up, rotaSpeed);
3.旋转的角度
rotaSpeed += Input.GetAxis("Horizontal");
transform.eulerAngles = new Vector3(0, rotaSpeed, 0);
4.旋转的角度
float tiltAroundZ = Input.GetAxis("Horizontal")*30;
float tiltAroundX = Input.GetAxis("Vertical")*30;
Quaternion target = Quaternion.Euler(tiltAroundX, 0, tiltAroundZ);
transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * 2);
3.rigibody 刚体约束RigidbodyConstraints
RigidbodyConstraints为枚举类型;
(|:可以理解为又啊又啊又)
全部锁定:
rigidbody.constraints = RigidbodyConstraints.FreezePositionX| RigidbodyConstraints.FreezePositionY| RigidbodyConstraints.FreezePositionZ;
全部解锁:
rigidbody.constraints -= RigidbodyConstraints.FreezePositionX| RigidbodyConstraints.FreezePositionY| RigidbodyConstraints.FreezePositionZ;
只解锁一个(例如X轴其他全部冻结):
rigidbody.constraints ~= RigidbodyConstraints.FreezePositionX