资讯专栏INFORMATION COLUMN

Java程序员学习C#,在键值对处理上的差别

琛h。 / 2000人阅读

摘要:最近学了一点,用写代码,其实以前也写过一点原生,但主要使用和文件操作,早就忘了。

最近学了一点Unity,用C#写代码,其实以前也写过一点windows原生,但主要使用Datastore和文件操作,早就忘了。

在Java里遇到键值对的时候,一般顺手就会创建一个Map,而且Map是个接口,实例通常是一个HashMap,类似下面这样:

private Map userMap = new HashMap ();

到了C#里,对应Map的结构叫Dictionary,通常实例也是这个类型,类似这样:

private Dictionary userDict =new Dictionary();

(注意:Java 里字符串是个对象,而C#里字符串是个基本类型,所以是不能等于null的,通常使用string.IsNullOrEmpty()方法,判断字符串是否为空)

具体使用上,Java里根据key获取value,是使用get方法,如果没取到,返回null:

String value = userMap.get("xxx");
if (value=null){
    return;
}
//Do something with value

但C#不行,它是用索引符号(类似数组)来获取值的,一旦key不存在,就会抛出异常,所以,必须先检查key,如下:

if (!userDict.ContainsKey("xxx")
{
    return;
}
string value = userDict["xxx"];
//Do something with value

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69880.html

相关文章

  • Java™ 教程(高级并发对象)

    高级并发对象 到目前为止,本课程重点关注从一开始就是Java平台一部分的低级别API,这些API适用于非常基础的任务,但更高级的任务需要更高级别的构建块,对于充分利用当今多处理器和多核系统的大规模并发应用程序尤其如此。 在本节中,我们将介绍Java平台5.0版中引入的一些高级并发功能,大多数这些功能都在新的java.util.concurrent包中实现,Java集合框架中还有新的并发数据结构。 ...

    xiaotianyi 评论0 收藏0
  • Redis 缓存淘汰策略

    摘要:但是内存空间毕竟有限,随着我们存储数据的不断增长,要缓存的数据量越来越大,当超过了我们的内存大小时,该怎么办呢解决方法有两种增加物理内存搭建集群和缓存数据的淘汰机制。增加物理内存简单粗暴,价格十分昂贵,内存的价格大约是万元左右。redis 使用的时内存空间来存储数据的,避免业务应用从后端数据库中读取数据,可以提升应用的响应速度。但是内存空间毕竟有限,随着我们存储数据的不断增长,要缓存的数据量...

    Tecode 评论0 收藏0
  • map集合的学习

    摘要:提供了专门的集合类用来存放这种对象关系的对象,即接口。中的集合,元素是成对存在的理解为夫妻。中的集合称为单列集合,中的集合称为双列集合。根据指定的键,在集合中获取对应的值。 day04 【Map】 主要内容 Map集合 教学目标 [ ] 能够说出Map集合特点 [ ] 使用Map集合添加方法保存数据 [ ] 使用键找值的方式遍历Map集合 [ ] 使用键值对的方式遍历Map集合 [ ...

    peixn 评论0 收藏0

发表评论

0条评论

琛h。

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<