众所周知,在 Unity3D 引擎中,最常用的语言便是 C#(C Sharp)。俗话说水质积不厚,则无力负大舟,所以,打牢基础是走向Unity神坛的第一步。

因此,博主anime king为各位汇集了一些常用基础代码,方便后续快速学习、使用。

01

DateTime 数字类型,DateTime 是一个包含日期、时间的类型,此类型通过 ToString() 转换为字符串时,可根据传入给 Tostring() 的参数转换为多种字符串格式。

System.DateTime currentTime=new System.DateTime();

  • 取当前年月日时分秒:
    currentTime=System.DateTime.Now;
  • 取当前年:int 年=currentTime.Year;
  • 取当前月:int 月=currentTime.Month;
  • 取当前日:int 日=currentTime.Day;
  • 取当前时:int 时=currentTime.Hour;
  • 取当前分:int 分=currentTime.Minute;
  • 取当前秒:int 秒=currentTime.Second;
  • 取当前毫秒:int 毫秒=currentTime.Millisecond;(变量可用中文)
  • 取中文日期显示——年月日时分 :
    string strY=currentTime.ToString("f"); //不显示秒
  • 取中文日期显示_年月 :
    string strYM=currentTime.ToString("y");
  • 取中文日期显示_月日 :
    string strMD=currentTime.ToString("m");
  •  取中文年月日:
    string strYMD=currentTime.ToString("D");
  • 取当前时分,格式为:(14:24) :
    string strT=currentTime.ToString("t");
  • 取当前时间,格式为:2003-09-23T14:46:48:
    string strT=currentTime.ToString("s");
  • 取当前时间,格式为:2003-09-2314:48:30Z :
    string strT=currentTime.ToString("u");
  • 取当前时间,格式为:2003-09-2314:48 :
    string strT=currentTime.ToString("g");
  • 取当前时间,格式为:Tue,23 Sep 2003 14:52:40 GMT :
    string strT=currentTime.ToString("r");
  • 获得当前时间n 天后的日期时间:
    DateTime newDay = DateTime.Now.AddDays(100);

unity 看自己写的源代码在哪里 unity源代码怎么输出_c# out原理 ref

02

其他类型字符串转换  变量.ToString()。

12345.ToString("n"); //生成 12,345.00
 
   
  
12345.ToString("C"); //生成 ¥12,345.00
 
   
  
12345.ToString("e");//生成 1.234500e+004
 
   
  
12345.ToString("f4"); //生成 12345.0000
 
   
  
12345.ToString("x"); //生成 3039 (16进制)
 
   
  
12345.ToString("p"); //生成 1,234,500.00%

03

字符型转换转为 32 位数字型。

Int32.Parse(变量) Int32.Parse("常量")Int32.Parse("123");//生成 123

04

变量.Length 数字型。取字串长度:如:string str="中国";

int Len = str.Length ; //Len是自定义变量, str是求测的字串的变量名

05

System.Text.Encoding.Default.GetBytes(变量):字码转换转为比特码

byte[]bytStr = System.Text.Encoding.Default.GetBytes(str);然后可得到比特长度:len = bytStr.Length;

06

System.Text.StringBuilder("")- 字符串相加,(+号是不是也一样?) 。

System.Text.StringBuilder sb = new System.Text.StringBuilder("");sb.Append("中华");sb.Append("人民");sb.Append("共和国");

07

变量.Substring(参数1,参数2):截取字串的一部分,参数1为左起始位数,参数2为截取几位。

strings1 = str.Substring(0,2);

08

char.IsWhiteSpce(字串变量,位数)——逻辑型 :查指定位置是否空字符。

string str="你好 AnimeKing";char.IsWhiteSpace(str,2); //结果为:True, 第一个字符是0位,2是第三个字符。

09

char.IsPunctuation('字符') ——逻辑型:查字符是否是标点符号。

char.IsPunctuation('A');//返回:False

10

(int)'字符' :把字符转为数字,查代码点,注意是单引号。

(int)'A'; //结果为A字的代码:20013

11

(char)代码 :把数字转为字符,查代码代表的字符。

(char)22269; //返回“国”字。

12

清除字串前后空格 :变量.Trim() 。

13 

字串替换 :字串变量.Replace("子字串","替换为")。

string str="中国";str=str.Replace("国","央"); //将国字换为央字Response.Write(str); //输出结果为“中央”

14

字串对比一般都用: if(str1==str2){ }  ,并且也有别的方法。

(1) string str1; str2//语法:str1.EndsWith(str2); __检测字串str1是否以字串str2结尾,返回布尔值.如:if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"结束的"); }(2) //语法:str1.Equals(str2);__检测字串str1是否与字串str2相等,返回布尔值,用法同上(3) //语法Equals(str1,str2); __检测字串str1是否与字串str2相等,返回布尔值,用法同上

15

IndexOf()、LastIndexOf():查找字串中指定字符或字串首次(最后一次)出现的位置,返回索引值。

str1.IndexOf("字");//查找“字”在str1中的索引值(位置)str1.IndexOf("字串");//查找“字串”的第一个字符在str1中的索引值(位置)str1.IndexOf("字串",3,2);//从str1第4个字符起,查找2个字符,查找“字串”的第一个字符在str1中的索引值(位置)

16

Insert()在字串中指定索引位插入指定字符。

str1.Insert(1,"字");在str1的第二个字符处插入“字”,如果str1="中国",插入后为“中字国”;

17

PadLeft()、PadRight() :在字串左(或右)加空格或指定char字符,使字串达到指定长度。

string str1="中国人";str1=str1.PadLeft(10,'1'); //无第二参数为加空格 ,结果为“1111111中国人” , 字串长为10

18

Remove():从指定位置开始删除指定数的字符 。

string str1="我是萨达姆的崇拜者之一";str1.Remove(5,4); //结果为“我是萨达姆之一”

19

判断是否存在文件夹,没有则创建。

if (Directory.Exists(url) == false) { Directory.CreateDirectory(url); }

20

方法中的参数,返回值

ref 型参数:该种类型的参数传递变量地址给方法(引用传递),传递前变量必须初始化。

该类型与out型的区别在于:

  • ref 型传递变量前,变量必须初始化,否则编译器会报错, 而 out 型则不需要初始化。
  • ref 型传递变量,数值可以传入方法中,而 out 型无法将数据传入方法中。换而言之,ref 型有进有出,out 型只出不进。

out 型参数:与 ref 型类似,仅用于传回结果。

注意:

  • out 型数据在方法中必须要赋值,否则编译器会报错。
    如:如下若将代码中的 sum 1 方法的方法体
    改为 a+=b ; 则编译器会报错。原因:out 型只出不进,在没给 a 赋值前是不能使用的
    改为 b+=b+2 ; 编译器也会报错。原因:out 型数据在方法中必须要赋值。
  • 重载方法时若两个方法的区别仅限于一个参数类型为 ref 另一个方法中为 out ,编译器会报错
    如:若将下面的代码中将方法名 vsum1 改为 sum(或者将方法名 sum 改为 sum1),编译器会报错。
    Error 1 Cannot define overloaded method ‘sum’ because it differs from another method only on ref and out
    原因:参数类型区别仅限于 为 ref 与为 out 时,若重载对编译器而言两者的元数据表示完全相同。
classC{//1. in型参数publicvoidsum(int a, int b) { a += b; }//2. ref型参数publicvoidsum(refint a, int b){ a += b; }//3. out型参数publicvoidsum1(outint a, int b){ a = b+2; }publicstaticvoidMain(string[] args){ C c = new C();int a = 1, b = 2; c.sum(a,b); Console.WriteLine("a:{0}", a); a = 1; b = 2; c.sum(ref a, b); Console.WriteLine("ref a:{0}", a); a = 1; b = 2; c.sum1(out a, b); Console.WriteLine("out a:{0}", a); }}


以上

 C# 常用基础代码就汇总到这里,感谢博主整理总结。