This documentation is archived and is not being maintained.

XmlWriter.WriteSurrogateCharEntity Method

When overridden in a derived class, generates and writes the surrogate character entity for the surrogate character pair.

[Visual Basic]
Public MustOverride Sub WriteSurrogateCharEntity( _
   ByVal lowChar As Char, _
   ByVal highChar As Char _
public abstract void WriteSurrogateCharEntity(
 char lowChar,
 char highChar
public: virtual void WriteSurrogateCharEntity(
 __wchar_t lowChar,
 __wchar_t highChar
) = 0;
public abstract function WriteSurrogateCharEntity(
   lowChar : Char,
 highChar : Char


The low surrogate. This must be a value between 0xDC00 and 0xDFFF.
The high surrogate. This must be a value between 0xD800 and 0xDBFF.


Exception Type Condition
Exception An invalid surrogate character pair was passed.


This method is only applicable on systems that use UTF-16 encoding.

The surrogate character entity is written in hexadecimal format. The range for surrogate characters is #x10000 to #x10FFFF. The following formula is used to generate the surrogate character entity: (highChar-0xD800) * 0x400 + (lowChar-0xDC00) + 0x10000

For both HTML and XML, the document character set (and therefore the notation of numeric character references) is based on UCS [ISO-10646]. A single numeric character reference in a source document may therefore in some cases correspond to two 16-bit units in a string (a high surrogate and a low surrogate). These 16-bit units are referred to as a surrogate pair.

For more information regarding surrogates or characters, refer to section 3.7 of the Unicode 3.0/Unicode 2.0 standard located at, or section 2.2 of the W3C XML 1.0 Recommendation located at


Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

XmlWriter Class | XmlWriter Members | System.Xml Namespace