c#:一些实用方法

1.获取桌面等路径:

string dir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); MessageBox.Show("桌面的路径是"+dir);

 

2.反射获取类的方法:

Type t = GetType(); //BindingFlags作为一个特别的标志量,在反射中,通过这个标志量,可以指定搜索到的成员的类型. //Instance 指定实例成员将包括在搜索中。 //Public 指定Public修饰的成员 //NonPublic 指定非Public修饰的成员 //DeclaredOnly 指定只应考虑在所提供类型的层次结构级别上声明的成员。不考虑继承成员。(就是当前类,不包括父类) MethodInfo[] a = t.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.DeclaredOnly);


3.获取当前方法被调用信息

System.Diagnostics.StackTrace stackTrace = new System.Diagnostics.StackTrace();
//获取在index位置哪调用当前方法
stackTrace.GetFrame(0);
//获取调用当前方法所有位置
stackTrace.GetFrames();

4.将一个文件分割成多个二进制数据

5.获取当前时间

DateTime.Now.ToString();

 

6.获取本机ip地址

System.Net.IPHostEntry myEntry = System.Net.Dns.GetHostEntry(System.Net.Dns.GetHostName());
string ipAddress = myEntry.AddressList[0].ToString();

for (int i = 0; i < myEntry.AddressList.Length; i++)
{
    Debug.Log("第" + i + "个ip:" + myEntry.AddressList[i]);
}

 

7.进制转换

Convert.ToInt32("10", 16)     //10进制转16进制

//十进制转十六进制

Console.WriteLine(Convert.ToString(69, 16));

//C# 16进制转换10进制

Console.WriteLine(Convert.ToInt32(”FF”, 16));

 

8.c#获取时间戳

public static double GetTimestamp(DateTime d)
{
TimeSpan ts = d.ToUniversalTime() - new DateTime(1970, 1, 1);
return ts.TotalMilliseconds; //精确到毫秒
}

 

9.C#调用html,并返回参数

string jsVersonScript = "SendMessage('" + gameObject.name + "','" + "VersonFunction" + "',document.getElementById('verson').value);";
Application.ExternalEval(jsVersonScript);
 

10.c# 发布web版获取当前网址

string url = Application.absoluteURL;

 

11.c# 调用系统文件

System.Diagnostics.Process.Start("calc.exe");     //计算器

System.Diagnostics.Process.Start("notepad.exe");     //记事本

System.Diagnostics.Process.Start("mspaint.exe");     //画板

System.Diagnostics.Process.Start("cmd.exe");          //cmd

System.Diagnostics.Process.Start("regedit.exe");     //注册表

System.Diagnostics.Process.Start("msconfig.exe");     //msconfig系统配置mstsc
System.Diagnostics.Process.Start("mstsc.exe");     //mstsc远程桌面

Process txt = Process.Start(@"notepad.exe", @"d:/12.txt");     //打开记事本,写入数据并保存

txt.StartInfo.WindowStyle = ProcessWindowStyle.Normal;

txt.WaitForInputIdle(1000);

 

12.让计算机发出警报声BEEP

       [DllImport("kernel32.dll")]
        public static extern bool Beep(int freq, int duration);

        private void button1_Click(object sender, EventArgs e)
        {
            Beep(500, 100);  
        }
 

 

 

 

 

你可能感兴趣的:(C#,Unity)