gpt4 book ai didi

c# - C# 中的 memset 是什么?

转载 作者:IT王子 更新时间:2023-10-29 03:39:21 24 4
gpt4 key购买 nike

我需要用一个非零值填充byte[]。我如何在 C# 中执行此操作而不循环遍历数组中的每个 byte

更新:评论似乎将其分为两个问题-

  1. 是否有框架方法来填充可能类似于 memset
  2. 的 byte[]
  3. 当我们处理非常大的数组时,最有效的方法是什么?

正如 Eric 和其他人所指出的,我完全同意使用一个简单的循环就可以很好地工作。问题的重点是看看我是否可以学到一些关于 C# 的新知识 :) 我认为 Juliet 的并行操作方法应该比简单循环更快。

基准:感谢 Mikael Svenson:http://techmikael.blogspot.com/2009/12/filling-array-with-default-value.html

事实证明,简单的 for 循环是可行的方法,除非您想使用不安全的代码。

很抱歉在我原来的帖子中没有说清楚。埃里克和马克的评论都是正确的;肯定需要有更有针对性的问题。感谢大家的建议和回复。

最佳答案

你可以使用 Enumerable.Repeat :

byte[] a = Enumerable.Repeat((byte)10, 100).ToArray();

第一个参数是要重复的元素,第二个参数是重复的次数。

这对于小数组来说没问题,但如果你处理的是非常大的数组并且性能是一个问题,你应该使用循环方法。

关于c# - C# 中的 memset 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1897555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com