C# 常忘知识

1. const、readonly、static

  1. const修饰的字段表示是常量,其本质上在编译完成,执行之前其字段的真实值已经被写在了DLL中了。只有在声明的时候才能改变其值
  2. readOnly表示只读的,其只有在声明的时候和构造函数中能被修改。通过编译后的代码可以看到,其实是在构造函数中赋值的
  3. static静态的,在一个地方修改,对所有的对象都是有效的。其使用类名.字段名来访问的。
  4. Static readonly 对所有的对象都是有效的,只读的。其使用对象.字段名来访问。注意:和readonly不同的是,其只有在声明的时候和静态构造函数中才可以赋值。

2. 时间字符串格式化

d 月中的某一天。一位数的日期没有前导零。
dd 月中的某一天。一位数的日期有一个前导零。

M 月份数字。一位数的月份没有前导零。
MM 月份数字。一位数的月份有一个前导零。

yyyy 包括纪元的四位数的年份。

h 12 小时制的小时。一位数的小时数没有前导零。
hh 12 小时制的小时。一位数的小时数有前导零。
H 24 小时制的小时。一位数的小时数没有前导零。
HH 24 小时制的小时。一位数的小时数有前导零。

m 分钟。一位数的分钟数没有前导零。
mm 分钟。一位数的分钟数有一个前导零。

s 秒。一位数的秒数没有前导零。
ss 秒。一位数的秒数有一个前导零。

f 秒的小数精度为一位。其余数字被截断。
ff 秒的小数精度为两位。其余数字被截断。

  1. String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" year
  2. String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" month
  3. String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" day
  4. String.Format("{0:h hh H HH}", dt); // "4 04 16 16" hour 12/24
  5. String.Format("{0:m mm}", dt); // "5 05" minute
  6. String.Format("{0:s ss}", dt); // "7 07" second
  7. String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction
  8. String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" without zeroes
  9. String.Format("{0:t tt}", dt); // "P PM" A.M. or P.M.
  10. String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" time zone




原文地址:https://www.cnblogs.com/wuyicqb/p/5abfa93eecc5f141e9666af4d0661fdf.html