SORU
13 Aralık 2009, Pazar


C memset eşdeğerdir ne#?

Bir tek byte[] a doldurmak istiyorumsıfırdeğer. Nasıl C yapabilirim?# dizi byte her döngü olmadan?

Güncelleme:Yorum iki soru içine bu bölünmüş gibi görünüyor

  1. Orada bir bayt doldurmak için Çerçeve bir yöntemdir [] memset benzer olabilir
  2. Çok büyük bir dizi ile uğraşırken bunu yapmak için en etkili yolu nedir?

Kesinlikle Eric ve diğerleri belirttiği gibi basit bir döngü kullanarak gayet güzel çalışıyor hemfikir. Bu sorunun amacı eğer C hakkında yeni bir şey öğrenir miyim diye oldu# :) Paralel bir operasyon için Juliet'in yöntem basit bir döngü daha hızlı olması gerektiğini düşünüyorum.

Kriterler: Svenson Mikael sayesinde: http://techmikael.blogspot.com/2009/12/filling-array-with-default-value.html

for basit döngü güvenli olmayan kod kullanmak istemiyorsan gitmek için yol olduğu ortaya çıktı.

Benim orijinal sonrası daha net olmadığı için özür dilerim. Eric ve Mark yorumlarını doğru, her ikisi de; eminim daha odaklı sorular var. Herkesin öneri ve cevaplar için teşekkürler.

CEVAP
13 Aralık 2009, Pazar


Enumerable.Repeat kullanabilirsiniz:

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

İlk parametre tekrarlanan istediğiniz unsurdur, ve ikinci parametre kaç kez tekrar etmektir.

Bu küçük diziler için sorun yok ama eğer çok büyük dizilerle ilgili ise döngü yöntemi kullanmalısınız ve performans kaygısı.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
C#

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CommonArtisan

    CommonArtisa

    7 Temmuz 2012
  • HER0R

    HER0R

    16 Aralık 2007
  • TheScorpioTechno

    TheScorpioTe

    15 Aralık 2010