C#使用手册(持续更新)

常用数据类型 获取精确到毫秒的时间 string s= string.Format(“{0:yyyy/MM/dd HH:mm:ss.fff}”,DateTime.Now); 运算符 算数运算符 + – * / % ++ — 关系运算符 == != > < >= <= 逻辑运算符 && || ! 位运算符 & | ^ ~ << >> 赋值运算符 = += -= *= /= %= <<= >>= &= ^= |= 其它运算符 sizeof() typeof() &取变量地址 *变量的指针 ?:条件表达式 is判断对象是否为某一类型 as强制转换,即使转换失败也不会抛出异常 数据类型转换 隐式转换 系统自动执行,允许范围小的数向范围大的数转换。 int x = 123; float y = x; 显式转换(强制转换) decimal x = 123; float y =(float) x; 特定方法 Parse()方法 ToString()方法 int x = int.Parse(“123”); string s = x.ToString(); Conver类 int x = Convert.ToInt32(“123”); string s = Convert.ToString(123); 程序执行计时功能 using System.Diagnostics; Stopwatch stopwatch = new Stopwatch(); stopwatch.Restart(); Thread.Sleep(1234); stopwatch.Stop(); this.label1.Text = stopwatch.ElapsedMilliseconds.ToString(); 匿名方法与Lambda表达式 namespace ConsoleApp2 { class Program { delegate void DelegateMethod(string str); static void PrintStr(string str) { Console.WriteLine(str); } static void Main(string[] args) { DelegateMethod dm = PrintStr; dm(“Hello World!”); Console.Read(); } } } 采用匿名函数的写法 namespace ConsoleApp2 { class Program { delegate void DelegateMethod(string str); static void Main(string[] args) { DelegateMethod dm = delegate (string str) { Console.WriteLine(str); }; dm(“Hello World!”); Console.Read(); } } } 后续开始使用lambda表达式取代了匿名函数,而且应用范围更广。 Lambada表达式 (参数)=>{表达式} 0或多个参数()不能必须保留,一个参数()可以不写; 一条语句{}可以不写,否则必须保留; namespace ConsoleApp2 { class Program { static void Main(string[] args) { Action AM = (str) => { Console.WriteLine(str); }; AM(“Hello World!”); Func<int, int, double> FM = (x, y) => { return  x + y; }; Console.WriteLine(FM(123,456)); Console.Read(); } } } 异步编程的示例 namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //async/await关键词调用或者调用此方法 private void button1_Click(object sender, EventArgs e) { callAddAysnc(); } private async void callAddAysnc() { string r = await addAysnc(123, 456); MessageBox.Show(r); } //方法封装成任务 private Task addAysnc(int a, int b) { return Task.Run(() => { return add(a, b); }); } //耗时方法 private string add(int a, int b) { Thread.Sleep(10000); return (a + b).ToString(); } } }

Author: 徐大军

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注