首页  >  文章  >  后端开发  >  C#拾遗之小知识(一)

C#拾遗之小知识(一)

黄舟
黄舟原创
2017-02-06 17:12:361226浏览

小知识(一)

var:

初始化必须有赋值,var i;(错的)。

var类型的对象运行过程中不允许再更改类型。(如:var i=1; i="hello!" 会出错)

var只声明局部变量。

dynamic:

初始化时可以不赋值。

dynamic类型的对象运行过程中可以给该类型。(如:dynamic i=1; i="hello!" 不出错)

可声明为全局变量。

VAR和DYNAMIC:一般当不确定变量类型时使用。

decimal:

    高精度小数,范围:1.0*10^-28到7.9*10^28,精度28位。一般用于表示money。float/double精度7/15位,用这float/double两个类型表示货币时它会帮你"抹零"。

    decimal默认值:0.0M

    float默认值:0.0F

    double默认值:0.0D

char:

    char字符型赋值有3中

char c='d';

char c='\x0068'; 十六进制

char c='\u0068'; Unicode表示

char c=(char)68; 整形转换char。

默认值:'\x0000'

八进制和十六进制:

    C#中整形只用10进制表示,用8进制格式说明符"o"或"O"和16进制格式说明符是"x"或"X"编译会出错,(如:int i = o73;出错)。

    当需要输出8进制或者16进制时用i.ToString("x")即可。

  •     显示2进制WriteLine(Convert.ToString(231,2));

  •     显示8进制WriteLine(Convert.ToString(231,8)) ;

  • 显示16进制WriteLine(Convert.ToString(231,16));

  • 显示16进制WriteLine(i.ToString("x"));显示小写。

  • 显示16进制WriteLine(i.ToString("X"));显示大写。

PadLeft和PadRight

    输出字符串的左边或者右边填充空格实现右对齐或者左对齐。

    ToString().PadLeft(8); 输出字符串长度为8,左边补空格。

Parse:

    parse解析,将数字的字符串表示形式等效转换为数字。

    如:int.parse(string); double.parse(string); decimal.parse(string)等等。

    var和dycimal没有parse方法。

    注意:当16进制数字的字符串转换为int时用Parse(string,System.Globalization.NumberStyle)方法,第二个枚举参数选HexNumber即可。

    那2进制字符串和8进制字符串怎么解析成int呢?目前还不知道呢……哪位大师说一下???

Encoding:

    字符串和字节数组之间的转换。System.Text.Encoding类

    byte[] ← GetBytes(string)方法,将字符串转换为字节数组。

    string ← GetString(byte[])方法,将字节数组转换为字符串。

    Encoding属性:

  •         Encoding.Default 获取系统的当前ANSI代码页的编码

  •         Encoding.UTF7获取UTF7编码格式

  •         Encoding.UTF8获取UTF8编码格式

  •         Encoding.ASCII获取7位ASCII字符集的编码

  •         Encoding.Unicode获取特定顺序的Unicode格式的编码

  •     byte[] b=System.Text.Encoding.Unicode.GetBytes(s);

enum枚举:

    用户自定义数据类型。enum枚举的值从1开始,除了自定义。用逗号","隔开,可赋值整形值。

    字符串转换特定枚举:

 object ← Enum.parse(type enumType,string value);

    如:

color col=(color)Enum.parse(typeof(color),"white");

    注意:如果字符串跟枚举不对应,会出错。

   enum e
    {
    }

struct结构:

    用户自定义数据类型,结构类型。结构可包含构造函数、常量、字段、方法、属性、索引器、运算符。

    结构是值类型,在堆栈(stack)上分配地址

    结构和类都可以继承接口。

    结构不能被集成,类可以。

    结构没有析构函数,类有。

 struct s
    {
    }

以上就是C#拾遗之小知识(一)的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn