Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >不添加数据的不可变列表

不添加数据的不可变列表
EN

Stack Overflow用户
提问于 2014-09-13 06:26:17
回答 5查看 5.5K关注 0票数 4

我使用的ImmutableList如下所示:

  • 使用Nuget引用包,下面是使用代码: 使用System.Collections.Immutable;私有ImmutableList immutableList = ImmutableList.Create();//写操作操作writeAction = (() => { Data writeData =新数据();//使用有效值填充数据类型immutableList.Add(writeData);});

上面的代码没有将任何数据添加到不可变列表中。它仍然是空的,我不知道为什么所有的数据都是有效的。类似的代码用于填充其他数据结构,如ConcurrentQueue和ConcurrentBag,并且工作良好。

在不可变列表的用法中,我是否遗漏了什么东西,需要纠正吗?请注意,这是一个多线程操作,但这不会是一个问题,因为这个数据结构是线程安全的。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-09-13 06:32:13

顾名思义,列表是不可变的,即不能将项目添加到原始列表中。在MSDN链接的备注部分:

当您从不可变列表中添加或删除项目时,添加或删除的项目将生成原始列表的副本,而原始列表将保持不变。

还来自here的Add方法文档:

它返回一个新的不可变列表,其中添加了对象,如果它已经包含指定的对象,则返回当前列表。

Add将为您提供新的列表引用,并在其中添加项目(原始列表将保持不变):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
immutableList = immutableList.Add(writeData);
票数 20
EN

Stack Overflow用户

发布于 2014-09-13 06:32:44

不可变列表是一个不变的列表。以下是MSDN对其含义的描述:

当您从不可变列表中添加或删除项目时,添加或删除的项目将生成原始列表的副本,而原始列表将保持不变。

这意味着每次执行像Add这样的操作时,都不会更改原始列表,但是会返回带有Add元素的新列表。这意味着您需要使用这样的代码来获得正确的列表:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
immutableList = immutableList.Add(writeData); 

这让我觉得你是在错误的情况下使用它。

票数 4
EN

Stack Overflow用户

发布于 2022-10-25 07:51:45

创建你的正常名单..。将其转换为数组,使用该数组生成不可变的列表.这是我的片段

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        var result = csvReader.GetRecords<Data>().ToArray();
        return ImmutableList.Create<Data>(result);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25824158

复制
相关文章
Android Source Generator错误:无法找到基本名称xxx的包
File > Project Structure > facets > 添加Android-Gradle > 关闭并重新打开项目并重建.
可定
2020/04/20
8470
[1207]ImportError:无法导入名称“ RandomizedLogisticRegression”
ImportError:无法导入名称“ RandomizedLogisticRegression”
周小董
2023/10/10
4240
Netty在Dubbo中的线程名称
在项目中,我们会使用RocketMQ和Dubbo.前者用于发送或消费消息,后者用于两个模块之间的接口调用.
书唐瑞
2022/06/02
1.3K0
Netty在Dubbo中的线程名称
python包urllib名称
经查询,在python3.5版本中是使用urllib.request,而在python2.7中则是urllib2
努力在北京混出人样
2019/02/18
9850
破解在idea中无法加载spring cloud config中多环境配置之谜
1、config 默认Git加载 通过spring.cloud.config.server.git.uri指定配置信息存储的git地址,比如:https://github.com/xxx/config-repo
算法之名
2019/08/20
2.3K0
破解在idea中无法加载spring cloud config中多环境配置之谜
[1207]ImportError:无法导入名称“ RandomizedLogisticRegression”
ImportError:无法导入名称“ RandomizedLogisticRegression”
周小董
2023/10/10
4060
PHP中Redis扩展无法加载问题
phpredis编译出来的redis.so也需要拷贝到"/usr/lib64/php/modules/"中;
叫我可儿呀
2019/11/16
2K0
Idea 中图片资源无法加载问题
今天在看一个 Java 的小游戏时,遇到项目图片资源无法加载的问题,运行显示界面如图
攻城狮杰森
2022/06/03
2.9K0
Idea 中图片资源无法加载问题
springboot测试中主程序中能加载bean测试中无法加载bean
如遇到springboot版本的问题导致bean类无法注入到项目中,可能是注解和springboot版本不匹配导致启动类启动时扫描不到相应的bean类
一个风轻云淡
2022/11/13
1.8K0
springboot测试中主程序中能加载bean测试中无法加载bean
无法在R里面加载相应版本的python
reticulate可以实现R与python的相互切换,即在R里面调用python的脚本、模块等。
生信编程日常
2020/11/24
2.4K0
在Intellij IDEA中修改模板中user变量名称
默认IDEA取的是当前系统的用户名作为这个变量的,但是如果系统的用户名不是你期望的用户名,那么修改系统的用户名在IDEA中也还是使用的是旧的用户名。
前Thoughtworks-杨焱
2021/12/08
3.6K0
java中无法解析为类型_java无法解析导入的包
.odt文件是openoffice软件产生的文档格式,可以直接用office打开,这其实就是一个压缩包,可以使用解压软件打开,里面有一个content.xml文件,这个文件内有<text:p>标签,标签内就是展示出来的内容。
全栈程序员站长
2022/10/28
4.8K0
java:加载jar包中的动态库
java中System.load(String)方法可以加载一个动态库,有时为了便于管理和发行,我们会把动态库打包jar包一起发行。这时如何加载jar包中的动态库呢? 原理也很简单,就是先把动态库解
10km
2019/05/25
3.9K0
Gravatar 头像无法加载
由于众所周知的原因,头像服务器多数都无法正常访问,不管是http还是https。为了解决头像问题有两个办法:
obaby
2023/02/22
1.5K0
制作动态framework与静态framework的那些坑
今天我们来看看制作framework---dynamic和static这两中库需要注意的
大话swift
2020/05/08
2.1K0
制作动态framework与静态framework的那些坑
面试题:unittest加载测试用例名称必须以test开头,是否可以定制化
前几天,在一个群里,一个人问了,这样一个问题。说他面试遇到一个面试官,问他,为啥unittest的测试用例要用test 开头,能不能定制化。他不知道为啥。
雷子
2021/03/15
1.3K0
面试题:unittest加载测试用例名称必须以test开头,是否可以定制化
Excel小技巧58: 在公式中快速应用名称
在Excel中,名称是一个非常好的功能,不仅能够简化公式,而且让公式的可读性更好。本文介绍一个小技巧,可以让定义的名称快速应用到公式中。对于使用单元格引用的公式,这是一个非常好应用名称的方法。
fanjy
2020/09/27
1.1K0
Excel小技巧58: 在公式中快速应用名称
问题idea maven无法加载导入子模块的依赖包的解决
还有个问题,如果使用自己下载的maven版本,会出现无法导入maven工程的错误;提示如下
JQ实验室
2022/06/09
2.8K0
在启动jar包时,发现内存不足无法启动
发现有一command为abrt-hook-ccpp的进程占用较多CPU和内存资源,如上图所示,abrt是AUTOMATIC BUG REPORTING TOOL的缩写。 解决方案 为了解决该问题,可以关闭abrt-hook-ccpp,具体操作如下:
高大北
2022/06/14
2.7K0
在启动jar包时,发现内存不足无法启动
点击加载更多

相似问题

将每个函数应用于列表Haskell的每个元素

24

如何在Haskell中将函数应用于列表中的每个元素?

119

应用于Haskell中嵌套列表的类似函数

12

将函数应用于Haskell中的元素列表

12

如何将高阶函数应用于Haskell中的有效函数?

20
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文