向数组添加一个元素

2023-12-13

我正在从源读取数据作为数组。一个]

我需要向数组中再添加一个元素。

获得数组后,我创建一个容量为 n+1 的新数组,并将所有元素复制到新数组中,并将新元素作为数组的最后一个元素。

我可以做这个。

有一个更好的方法吗?尤其是 Linq?


您所描述的实际上是唯一的方法。数组无法在 .NET 中调整大小,因此我们必须分配一个新数组并将旧数组复制到其中。例如,这是如何Array.Resize作品。 LINQ 在这里并没有真正的帮助,如果有的话,它只是将现有数组投影到一个新数组中 - 这正是我们刚才所描述的。

如果您发现需要经常调整数组大小,您应该考虑使用ArrayList或者,如果可能的话,强类型List<T>.

Edit: 如果您只是从某些您无法控制的方法获取数组,但在代码中您可以使用IEnumerable<T>相反,您可以使用 LINQ 进行延迟枚举并节省额外的数组分配:

var mySequence = originalArray.Concat(new[]{myobj});

//snip

foreach(var item in mySequence)
{
    //do stuff
}

只有打电话的时候才这样ToArray()我们承担了额外的开销。否则,我们只是对原始数组进行一次枚举,然后在最后偷偷添加额外的项目。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

向数组添加一个元素 的相关文章

  • 不支持将数据直接绑定到存储查询(DbSet、DbQuery、DbSqlQuery)

    正在编码视觉工作室2012并使用实体模型作为我的数据层 但是 当页面尝试加载时 上面提到的标题 我使用 Linq 语句的下拉控件往往会引发未处理的异常 下面是我的代码 using AdventureWorksEntities dw new
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • BitTorrent 追踪器宣布问题

    我花了一点业余时间编写 BitTorrent 客户端 主要是出于好奇 但部分是出于提高我的 C 技能的愿望 我一直在使用理论维基 http wiki theory org BitTorrentSpecification作为我的向导 我已经建
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • C# 中通过 Process.Kill() 终止的进程的退出代码

    如果在我的 C 应用程序中 我正在创建一个可以正常终止或开始行为异常的子进程 在这种情况下 我通过调用 Process Kill 来终止它 但是 我想知道该进程是否已退出通常情况下 我知道我可以获得终止进程的错误代码 但是正常的退出代码是什
  • C#中如何移动PictureBox?

    我已经使用此代码来移动图片框pictureBox MouseMove event pictureBox Location new System Drawing Point e Location 但是当我尝试执行时 图片框闪烁并且无法识别确切
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 混合 ExecutionContext.SuppressFlow 和任务时 AsyncLocal.Value 出现意外值

    在应用程序中 由于 AsyncLocal 的错误 意外值 我遇到了奇怪的行为 尽管我抑制了执行上下文的流程 但 AsyncLocal Value 属性有时不会在新生成的任务的执行范围内重置 下面我创建了一个最小的可重现示例来演示该问题 pr
  • 哪种 C 数据类型可以表示 40 位二进制数?

    我需要表示一个40位的二进制数 应该使用哪种 C 数据类型来处理这个问题 如果您使用的是 C99 或 C11 兼容编译器 则使用int least64 t以获得最大的兼容性 或者 如果您想要无符号类型 uint least64 t 这些都定
  • 对来自流读取器的过滤数据执行小计

    编辑问题未得到解答 我有一个基于 1 个标准的过滤输出 前 3 个数字是 110 210 或 310 给出 3 个不同的组 从流阅读器控制台 问题已编辑 因为第一个答案是我给出的具体示例的字面解决方案 我使用的实际字符串长度为 450 个

随机推荐

  • 如何诊断 .NET Core 5 中的 CORS 问题?

    我遇到了 CORS 问题 如果我允许任何方法 任何来源和任何标头 一切都会正常工作 但当我限制其中任何一个时 浏览器控制台会立即变成红色 我已经解决了我的问题 这是由于环境变量不好 但这是一个相当乏味的试错过程 有没有办法诊断 NET Co
  • 如何使用第一个下拉列表中选定的值填充第二个下拉列表?

    假设我有两个下拉菜单 它们在我的 jsp 加载时填充
  • Java 文件下载挂起

    我有一个用于下载文件的网络界面 当请求到来时 我的 glassfish 服务器从 Web 服务流式传输文件 然后将内容写入输出流 我的代码工作正常 除非文件大小变得非常大 例如超过 200 MB 它会挂起 在浏览器中显示 0 下载 并且文件
  • 为什么在我的例子中字符串不相等?

    I have currencyFormatter那是与se SV locale var currencyFormatter NumberFormatter let formatter NumberFormatter formatter cu
  • 使用 webpack 和 bootstrap-loader 时 $(...).modal is not a function(...) 错误

    我在打开模态时遇到问题 modal id modal show 功能 在缩小问题范围后 我相信这与 webpack 加载我的依赖项或特别是 jQuery 依赖项有关 以下是我的 webpack 配置的必要部分 entry js bootst
  • Kafka Streams:如何使用 persistenceKeyValueStore 从磁盘重新加载现有消息?

    我的代码当前使用 InMemoryKeyValueStore 这避免了对磁盘或 kafka 的任何持久化 我想使用rocksdb Stores persistentKeyValueStore 以便应用程序将从磁盘重新加载状态 我正在尝试实现
  • 如何纠正 Damerau-Levenshtein 实施中的错误?

    我带着另一个较长的问题回来了 尝试过许多基于 Python 的 Damerau Levenshtein 编辑距离实现 我终于找到了下面列出的那个 as editdistance reference 它 似乎提供了正确的结果并且似乎有一个有效
  • 如何使用guard语句来检测赋值后的nil?

    我正在尝试使用 Guard 语句来检查是否为零 我很困惑为什么以下内容让它漏掉并生成 BAD EXEC 错误 guard let event Event eventsImagesLoading removeValueForKey locat
  • PDO_OCI - 进入 clob 字段

    我想在 Oracle DB 中插入一些 base64 编码的数据 每个字段最多 500 000 个字符 因为在我开始使用 PDO 并将字段设置为 CLOB 之前 我没有将 Oracle 与 PHP 一起使用 我的代码的简短版本 Db 类扩展
  • 在 Box2D 中制作漩涡

    我试图通过施加力在 C Objective C 上的 Box2D 中制作螺旋涡流 我想实现的是一个将物体从一个点推开或吸引它们的漩涡 我想我必须施加不止一种力量 我解决这个问题的切入点是 我想我必须施加三种力量 吸引或排斥身体中心的冲动 想
  • 将方法传递给迭代器方法时发生了什么

    众所周知 谁可以通过 a 将方法传递给迭代器方法 prefix 例如 a b map upcase gt A B def rettwo 2 end a b map rettwo gt 2 2 问题是 当我编写一个方法时 传递一个方法 前缀
  • 取出字符串中所有其他单词的算法?

    在 Javascript 中 如果我有一个像这样的字符串 你好 很高兴见到你 我希望返回的是奇怪地方的单词 这样我就会得到 你好 我怎样才能为此编写代码 您可以使用filter创建一个包含偶数索引元素的新数组 请记住 奇数 位置中的单词实际
  • 在完整节点中使用缩略图进行上一个/下一个节点导航

    我一直在试图解决这个问题并使其发挥作用 但由于我不是程序员 只是一名编码知识有限的设计师 所以我在这方面一直碰壁 我正在制作自己的照片库 我想将前两张或下一张图像显示为链接的缩略图 我发现这个脚本可以工作并显示文本链接 但不知道如何使其适应
  • 格式化日期的简单方法

    我写了一个 perl 脚本来获取日期时间 它确实有效 但我确实想知道是否有更简单的方法将日期格式设置为输出 usr bin perl use DateTime my dt DateTime gt now time zone gt local
  • Webapi 在本地工作,但在使用子域托管时无法工作

    我正在构建一个简单的 Web api 它从数据库检索客户余额 在 IIS 本地托管的一切都运行良好 该 api 从正文中获取一个参数 public static void Register HttpConfiguration config
  • fragment.onCreateView 导致空指针异常

    所以我正在使用片段并尝试在它们上连接点击侦听器 public View onCreateView LayoutInflater inflater ViewGroup container Bundle savedInstanceState V
  • Django:存储图像数据库

    早些时候我使用默认数据库 sqlite3 但今天我将其更改为 postgresql 我想将图像文件保存在数据库中而不是项目目录本身中 我怎样才能做到这一点 将图像存储在数据库中并不是一个好主意media文件夹 但你可以使用二进制字段为了这
  • Unicode 中可能的组合字符序列

    有些字符未包含在 Unicode 中 即带重音的西里尔字母 但可以使用组合序列创建 据我了解 可能的组合字符序列是在布局引擎和 或使用的字体中定义的 我对吗 那么 如何得到所有可能的组合序列呢 您是正确的 尝试创建任意组合序列对于布局引擎和
  • 如何只打印文本?

    我正在尝试将一些文本发送到打印机 我只需要打印文本 在页边距处包裹并在必要时流到另一页 这是我现在正在做的一个最小的例子 FXML private void print TextArea printArea new TextArea tex
  • 向数组添加一个元素

    我正在从源读取数据作为数组 一个 我需要向数组中再添加一个元素 获得数组后 我创建一个容量为 n 1 的新数组 并将所有元素复制到新数组中 并将新元素作为数组的最后一个元素 我可以做这个 有一个更好的方法吗 尤其是 Linq 您所描述的实际