(原创)c#学习笔记05--变量的更多内容01--类型转换01--隐式转换

第五章 变量的更多内容

  本章内容:

  ●  如何在类型之间进行隐式和显式转换
  ●  如何创建和使用枚举类型
  ●  如何创建和使用结构类型
  ●  如何创建和使用数组
  ●  如何处理字符串值

  首先要讨论的主题是类型转换,即把值从一种类型转换为另一种类型。

  接着阐述另外一些类型的变量:

    枚举——变量类型,用户定义了一组可能的离散值,这些值可以用人们能理解的方式使用。

    结构——合成的变量类型,由用户定义的一组其他变量类型组成。

    数组——包含一种类型的多个变量,可以以索引方式访问各个数值。

  这些类型比前面使用的简单类型复杂一些,但可以使工作更容易完成。最后,学习另一个与字符串相关的主题——基本字符串处理。

5.1  类型转换

  类型转换采用以下两种形式:

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

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

5.1.1  隐式转换

  隐式转换不需要做任何工作,也不需要另外编写代码。考虑下面的代码:

var1 = var2; 

  如果var2的类型可以隐式地转换为var1类型,这个赋值语句就涉及到一个隐式转换。它也可能只处理相同类型的两个变量,不需要隐式转换。例如,ushort和char的值是可以互换的,因为它们都可以存储0~65535之间的数字,在这两个类型之间可以进行隐式转换,如下面的代码所示:

ushort destinationVar; 
char sourceVar = 'a'; 
destinationVar = sourceVar; 
Console.WriteLine("sourceVar val: {0}", sourceVar); 
Console.WriteLine("destinationVar val: {0}", destinationVar); 

  这里存储在sourceVar中的值放在destinationVar中。在用两个Console.WriteLine()命令输出变量时,得到如下结果:

sourceVar val: a 
destinationVar val: 97 

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

  简单类型有许多隐式转换;bool和string没有隐式转换,但数值类型有一些隐式转换。表5-1列出了编译器可以隐式执行的数值转换(记住,char存储的是数值,所以char被当作一个数值类型)。

 

  这些类型的隐式转换规则是:任何类型A,只要其取值范围完全包含在类型B的取值范围内,就可以隐式转换为类型B。

  其原因是很简单的。如果要把一个值放在变量中,而该值超出了变量的取值范围,就会出问题。例如,short类型的变量可以存储0~32767的数字,而byte可以存储的最大值是255,所以如果要把一个short值转换为byte值,就会出问题。如果short包含的值在256~32767之间,相应数值就不能放在byte中。

  但是,如果short类型变量中的值小于255,就应能转换这个值,对吗?答案是可以。具体地说是可以,但必须使用显式转换。执行显式转换有点类似于“我已经知道你对在这么做提出了警告,但我将对其后果负责”。

转载于:https://www.cnblogs.com/wodehao0808/p/4908553.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GeoPandas是一个开源的Python库,旨在简化地理空间数据的处理和分析。它结合了Pandas和Shapely的能力,为Python用户提供了一个强大而灵活的工具来处理地理空间数据。以下是关于GeoPandas的详细介绍: 一、GeoPandas的基本概念 1. 定义 GeoPandas是建立在Pandas和Shapely之上的一个Python库,用于处理和分析地理空间数据。 它扩展了Pandas的DataFrame和Series数据结构,允许在其中存储和操作地理空间几何图形。 2. 核心数据结构 GeoDataFrame:GeoPandas的核心数据结构,是Pandas DataFrame的扩展。它包含一个或多个列,其中至少一列是几何列(geometry column),用于存储地理空间几何图形(如点、线、多边形等)。 GeoSeries:GeoPandas中的另一个重要数据结构,类似于Pandas的Series,但用于存储几何图形序列。 二、GeoPandas的功能特性 1. 读取和写入多种地理空间数据格式 GeoPandas支持读取和写入多种常见的地理空间数据格式,包括Shapefile、GeoJSON、PostGIS、KML等。这使得用户可以轻松地从各种数据源中加载地理空间数据,并将处理后的数据保存为所需的格式。 2. 地理空间几何图形的创建、编辑和分析 GeoPandas允许用户创建、编辑和分析地理空间几何图形,包括点、线、多边形等。它提供了丰富的空间操作函数,如缓冲区分析、交集、并集、差集等,使得用户可以方便地进行地理空间数据分析。 3. 数据可视化 GeoPandas内置了数据可视化功能,可以绘制地理空间数据的地图。用户可以使用matplotlib等库来进一步定制地图的样式和布局。 4. 空间连接和空间索引 GeoPandas支持空间连接操作,可以将两个GeoDataFrame按照空间关系(如相交、包含等)进行连接。此外,它还支持空间索引,可以提高地理空间数据查询的效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值