• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#学习笔记(隐式和显式转化、枚举类型、结构类型、数组类型和字符串) ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1 类型转换

1.1 隐式转换:从类型A到类型B的转换可以在所有情况下进行,执行转换的规则非常简单,可以让编译器执行转换。

ushort destinationVar;

char sourceVar = 'a';

destinationVar = sourceVar;

Console.WirteLine("soueceVar Val:{0}",sourceVar);

Console.wirteLine("destination Val:{0}",destinationVar);

输出的结果:

sourceVar Val:a

destination Val:97

即时两个变量存储的是相同的信息,但是不同的类型解释他们时,方式也是不同的。

编译器允许隐式转换的数值转换如下表:

类型 可以安全的转换为
byte short,ushort,int,uint,long,ulong,double,decimal
sbyte short,int,long,float,double,decimal
short int,long,float,double,decimal
ushort int,uint,long,ulong,float,double,decimal
int long,float,double,decimal
uint long,ulong.float,double,decimal
long float,double,decimal
ulong float,double,decimal
float double
char ushort,int,uint,long,ulong,float,double,decimal

 

1.2 显式转换:从类型A到类型B的转换只能在某些情况下进行,转换的规则比较复杂,应进行某种类型的处理。

byte destinationVar;

short sourceVar = 7;

destinationVar = (byte)sourceVar;

1.2.1 使用Convert命令进行显式转换

命令 结果
Convert.ToBoolean(val) val转换为bool
Convert.ToByte(val) val转换为byte
Convert.ToChar(val) val转换为char
Convert.ToDecimal(val) val转换为decimal
Convert.ToDouble(val) val转换为double
Convert.ToInt16(val) val转换为short
Convert.ToInt32(val) val转换为int
Convert.ToInt64(val) val转换为long
Convert.ToSByte(val) val转换为sbyte
Convert.ToSingle(val) val转换为float
Convert.ToString(val) val转换为string
Convert.ToUInt16(val) val转换为ushort
Convert.ToUInt32(val) val转换为uint
Convert.ToUInt64(val) val转换为ulong

2 枚举类型

关键字enmu

enmu<typeName>

{

  <value1>,

  <value2>,

  <value3>,

  ...

  <valueN>

}

接着声明这个新类型

<typeName><varName>;

并赋值:

<varName>=<typeName><value>;

注:默认情况下枚举中的第一个变量赋值为1,后面的值自动加1

3 结构类型

关键字struct

struct <typeName>

{

  <memberDeclarations>

}

<menberDeclarations>部分包含变量的声明(称为结构体的数据成员),其格式与往常一样。每个成员的声明都采用如下的格式:

<accessibility><type><name>;

要让调用结构的代码访问该结构的数据成员,可以对<accessibility>使用关键字public,例如:

struct route

{

  public orientation direction;

  public double distance;

}

定义了结构体类型之后,就可以定义新类型的变量,来使用该结构:

route myRoute;

然后通过句点字符来访问这个组合变量中数据成员:

myRoute.direction = orientation.north;

myRoute.distance = 10;

4 数组

前面的所有类型都有一个共同点:他们都只能存储一个值(结构中存储一组值)。有时,需要存储许多数据,这样就会带来不便。有时需要同时存储几个类型相同的值,而不是每一个值使用不同的变量。

4.1 声明数组:

<baseType>[]<name>;

例如:int[] myIntArray;

myIntArray[10] = 5;

或者:int[] myIntArray = new int[]arraySize;

或者:int[] myIntArray = new int[5]{1,2,3,4,5};数组大小必须和元素个数匹配

4.2 foreach循环

foreach循环可以使用一种简单的语法来定位数组中的每一个元素:
foreach(<baseType>(name) in <array>)

{

  //can usr <name> for each element

}

4.3 多维数组

二维数组声明

<baseType>[,] <name>;

多维数组声明

<baseType>[,,,] <name>;

5 字符串的处理

string类型变量可以看成是char变量的只读数组。这样就可以使用下面的语法访问每一个字符:

string myString = "A string";

char myChar = myString[1];

在foreach循环中使用字符串:

foreach(char character in mystring)

{

  Console.WirteLine("{0}",character);

}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#中的let字句应用示例发布时间:2022-07-13
下一篇:
dll中含有unsignedchar数组,被C#调用-发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap