XmlReader.ReadValueChunk(Char[], Int32, Int32) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
XML belgesine eklenmiş büyük metin akışlarını okur.
public:
virtual int ReadValueChunk(cli::array <char> ^ buffer, int index, int count);
public virtual int ReadValueChunk (char[] buffer, int index, int count);
abstract member ReadValueChunk : char[] * int * int -> int
override this.ReadValueChunk : char[] * int * int -> int
Public Overridable Function ReadValueChunk (buffer As Char(), index As Integer, count As Integer) As Integer
Parametreler
- buffer
- Char[]
Metin içeriğinin yazıldığı arabellek görevi gören karakter dizisi. Bu değer olamaz null
.
- count
- Int32
Arabelleğe kopyalanacak en fazla karakter sayısı. Kopyalanan gerçek karakter sayısı bu yöntemden döndürülür.
Döndürülenler
Arabelleğe okunan karakter sayısı. Sıfır değeri, metin içeriği olmadığında döndürülür.
Özel durumlar
Geçerli düğümün değeri yok (HasValue değeridir false
).
-veya-
Önceki XmlReader bir zaman uyumsuz işlem tamamlanmadan önce bir yöntem çağrıldı. Bu durumda, InvalidOperationException "Zaman uyumsuz bir işlem zaten devam ediyor" iletisiyle oluşturulur.
buffer
değeri null
olur.
Arabelleğe dizin veya dizin + sayısı ayrılan arabellek boyutundan daha büyük.
Uygulama XmlReader bu yöntemi desteklemiyor.
XML verileri iyi biçimlendirilmemiş.
Açıklamalar
Bu yöntem, bir XML belgesine eklenmiş çok büyük metin akışlarının akış biçiminde okunmasını sağlar, yani değerin tamamı için tek bir dize ayırmak yerine aynı anda az sayıda karakter. Bu yöntem değeri (HasValue is true
) olan herhangi bir düğümde çağrılabilir, ancak düğüm değerinin gerçek akışı yalnızca metin, boşluk ve önemli boşluk düğümlerinde çağrıldığında gerçekleşir. Öznitelikler ve CDATA düğümleri de dahil olmak üzere diğer düğüm türü değerleri önbelleğe alınır.
Bu yöntem yalnızca özelliğinin Value içeriğini döndürür ve öğesini XmlReadertaşımaz.
Bu yöntem, düğüm değerinin belirtilen karakter sayısını (count
) belirtilen uzaklıkta () bir karakter arabelleğine (buffer
index
) okur ve arabelleğe yazılan karakter sayısını döndürür. Değerin 0
sonuna ulaştığında değerini döndürür. Değeri yeniden okumak için yeniden başlatılamaz.
Özelliklere ReadValueChunk yapılan çağrılar XmlReader arasında özelliği dışında Value hiçbir değişiklik yapmaz. Value Özelliğe erişildiğinde kısmi bir değer (henüz tarafından ReadValueChunkdöndürülmeyen karakterlerle) veya uygulamaya bağlı olarak tam bir değer döndürebilir. XmlReader Ad alanı içindeki System.Xml tüm uygulamalar, özellik uygulaması için Value kısmi bir değer döndürür.
Herhangi bir Read yöntemi çağrısı arasında ReadValueChunkçağrılabilir. Bu durumda, XmlReader akışta sonrakine XmlNodeType geçer ve henüz döndürülmeyen karakterler atlanır.
İstenen karakter sayısından daha az döndürdüğünde ReadValueChunk bir durum olabilir. Örneğin, 127 ve 128 konumlarında vekil çifti olan 200 karakter uzunluğunda bir değeriniz varsa ve 128 karakterlik arabelleğe sahip olarak çağırdıysanız ReadValueChunk , yöntem çağrısı istenen 128 yerine 127 karakter döndürür. Bundan sonra vekil çifti bir sonraki ReadValueChunk çağrıda döndürülür. Bu durumda, ReadValueChunk istenen 128 karakter döndürülmedi çünkü bunu yapmak arabelleğinde eksik bir vekil çifte neden olacaktı.
Bu yöntemin zaman uyumsuz sürümü için bkz ReadValueChunkAsync. .