XElement.Explicit 操作员

定义

重载

Explicit(XElement to Nullable<Int64>)

将此 XElement 的值强制转换为 Int64Nullable<T>

Explicit(XElement to Nullable<Single>)

将此 XElement 的值强制转换为 SingleNullable<T>

Explicit(XElement to Nullable<TimeSpan>)

将此 XElement 的值强制转换为 TimeSpanNullable<T>

Explicit(XElement to Nullable<UInt32>)

将此 XElement 的值强制转换为 UInt32Nullable<T>

Explicit(XElement to Nullable<UInt64>)

将此 XElement 的值强制转换为 UInt64Nullable<T>

Explicit(XElement to UInt32)

将此 XElement 的值强制转换为 UInt32

Explicit(XElement to String)

将此 XElement 的值强制转换为 String

Explicit(XElement to TimeSpan)

将此 XElement 的值强制转换为 TimeSpan

Explicit(XElement to UInt64)

将此 XElement 的值强制转换为 UInt64

Explicit(XElement to Nullable<Int32>)

将此 XElement 的值强制转换为 Int32Nullable<T>

Explicit(XElement to Single)

将此 XElement 的值强制转换为 Single

Explicit(XElement to Nullable<Guid>)

将此 XElement 的值强制转换为 GuidNullable<T>

Explicit(XElement to Nullable<Boolean>)

将此 XElement 的值强制转换为 BooleanNullable<T>

Explicit(XElement to Nullable<Decimal>)

将此 XElement 的值强制转换为 DecimalNullable<T>

Explicit(XElement to Boolean)

将此 XElement 的值强制转换为 Boolean

Explicit(XElement to DateTime)

将此 XElement 的值强制转换为 DateTime

Explicit(XElement to DateTimeOffset)

将此 XAttribute 的值强制转换为 DateTimeOffset

Explicit(XElement to Double)

将此 XElement 的值强制转换为 Double

Explicit(XElement to Guid)

将此 XElement 的值强制转换为 Guid

Explicit(XElement to Decimal)

将此 XElement 的值强制转换为 Decimal

Explicit(XElement to Int64)

将此 XElement 的值强制转换为 Int64

Explicit(XElement to Nullable<Double>)

将此 XElement 的值强制转换为 DoubleNullable<T>

Explicit(XElement to Nullable<DateTime>)

将此 XElement 的值强制转换为 DateTimeNullable<T>

Explicit(XElement to Nullable<DateTimeOffset>)

将此 XElement 的值强制转换为 DateTimeOffsetNullable<T>

Explicit(XElement to Int32)

将此 XElement 的值强制转换为 Int32

Explicit(XElement to Nullable<Int64>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 Int64Nullable<T>

public:
 static explicit operator Nullable<long>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator long? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator long? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<int64>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of Long)

参数

element
XElement

要强制转换为 Int64Nullable<T>XElement

返回

一个 Int64Nullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 Int64 值。

示例

以下示例创建一个包含长整数内容的元素。 然后,它通过强制转换为 Nullable<T>Int64检索值。

XElement root = new XElement("Root",
    new XElement("Value", 9223372036854775807)
);
ulong? value = (ulong?)root.Element("Value");
Console.WriteLine("Nullable ulong: value={0}", value == null ? "null" : value.ToString());
Dim root As XElement = _
        <Root>
            <Value>9223372036854775807</Value>
        </Root>
Dim value As Nullable(Of ULong) = CType(root.Element("Value"), Nullable(Of ULong))
Console.WriteLine("Nullable ulong: value={0}", IIf(value.HasValue, value.ToString(), "null"))

该示例产生下面的输出:

Nullable ulong: value=9223372036854775807

另请参阅

适用于

Explicit(XElement to Nullable<Single>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 SingleNullable<T>

public:
 static explicit operator Nullable<float>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator float? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator float? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<single>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of Single)

参数

element
XElement

要强制转换为 SingleNullable<T>XElement

返回

一个 SingleNullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 Single 值。

示例

以下示例创建具有单精度浮点内容的元素。 然后,它通过强制转换为 Nullable<T>Single检索值。

XElement root = new XElement("Root",
    new XElement("Value", 3.402823e38)
);
float? value = (float?)root.Element("Value");
Console.WriteLine("Nullable Single: value={0}", value == null ? "null" : value.ToString());
Dim root As XElement = _
        <Root>
            <Value>3.402823e38</Value>
        </Root>
Dim value As Nullable(Of Single) = CType(root.Element("Value"), Nullable(Of Single))
Console.WriteLine("Nullable Single: value={0}", IIf(value.HasValue, value.ToString(), "null"))

该示例产生下面的输出:

Nullable Single: value=3.402823E+38

另请参阅

适用于

Explicit(XElement to Nullable<TimeSpan>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 TimeSpanNullable<T>

public:
 static explicit operator Nullable<TimeSpan>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator TimeSpan? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator TimeSpan? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<TimeSpan>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of TimeSpan)

参数

element
XElement

要强制转换为 TimeSpanNullable<T>XElement

返回

一个 TimeSpanNullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 TimeSpan 值。

示例

以下示例创建一个具有时间跨度内容的元素。 然后,它通过强制转换为 Nullable<T>TimeSpan检索值。

XElement root = new XElement("Root",
    new XElement("Value", new TimeSpan(1, 5, 30))
);
TimeSpan? value = (TimeSpan?)root.Element("Value");
Console.WriteLine("Nullable TimeSpan: value={0}", value == null ? "null" : value.ToString());
Dim root As XElement = _
    <Root>
        <Value><%= New TimeSpan(1, 5, 30) %></Value>
    </Root>
Dim value As Nullable(Of TimeSpan) = CType(root.Element("Value"), Nullable(Of TimeSpan))
Console.WriteLine("Nullable TimeSpan: value={0}", IIf(value.HasValue, value.ToString(), "null"))

该示例产生下面的输出:

Nullable TimeSpan: value=01:05:30

注解

包含时间跨度内容的属性或元素的值空间与持续时间内容密切相关,如 ISO 8601 中所述。 创建包含时间跨度内容的属性或元素时,会根据 W3C 规范设置属性或元素值的格式。 有关详细信息,请参阅 W3C 规范。

从特性或元素强制转换为 Nullable<T>TimeSpan 时,行为是宽松的。 即使属性或元素值未完全根据 W3C 规范设置格式,该值也会适当地转换为 的 TimeSpanNullable<T>

另请参阅

适用于

Explicit(XElement to Nullable<UInt32>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 UInt32Nullable<T>

public:
 static explicit operator Nullable<System::UInt32>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator uint? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator uint? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<uint32>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of UInteger)

参数

element
XElement

要强制转换为 UInt32Nullable<T>XElement

返回

一个 UInt32Nullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 UInt32 值。

示例

以下示例创建一个具有无符号整数内容的元素。 然后,它通过强制转换为 Nullable<T>UInt32检索值。

XElement root = new XElement("Root",
    new XElement("Value", 4294967295)
);
uint? value = (uint?)root.Element("Value");
Console.WriteLine("Nullable uint: value={0}", value == null ? "null" : value.ToString());
Dim root As XElement = _
        <Root>
            <Value>4294967295</Value>
        </Root>
Dim value As Nullable(Of UInteger) = CType(root.Element("Value"), Nullable(Of UInteger))
Console.WriteLine("Nullable uint: value={0}", IIf(value.HasValue, value.ToString(), "null"))

该示例产生下面的输出:

Nullable uint: value=4294967295

另请参阅

适用于

Explicit(XElement to Nullable<UInt64>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 UInt64Nullable<T>

public:
 static explicit operator Nullable<System::UInt64>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator ulong? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator ulong? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<uint64>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of ULong)

参数

element
XElement

要强制转换为 UInt64Nullable<T>XElement

返回

一个 UInt64Nullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 UInt64 值。

示例

以下示例创建一个具有无符号长整数内容的元素。 然后,它通过强制转换为 Nullable<T>UInt64检索值。

XElement root = new XElement("Root",
    new XElement("Value", 9223372036854775807)
);
ulong? value = (ulong?)root.Element("Value");
Console.WriteLine("Nullable ulong: value={0}", value == null ? "null" : value.ToString());
Dim root As XElement = _
        <Root>
            <Value>9223372036854775807</Value>
        </Root>

Dim value As Nullable(Of ULong) = CType(root.Element("Value"), Nullable(Of ULong))
Console.WriteLine("Nullable ulong: value={0}", IIf(value.HasValue, value.ToString(), "null"))

该示例产生下面的输出:

Nullable ulong: value=9223372036854775807

另请参阅

适用于

Explicit(XElement to UInt32)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 UInt32

public:
 static explicit operator System::UInt32(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator uint (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> uint32
Public Shared Narrowing Operator CType (element As XElement) As UInteger

参数

element
XElement

要强制转换为 UInt32XElement

返回

一个 UInt32,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 UInt32 值。

element 参数为 null

示例

以下示例创建一个具有无符号整数内容的元素。 然后,它通过强制转换为 UInt32来检索值。

XElement root = new XElement("Root", 4294967295);
uint value = (uint)root;
Console.WriteLine("value={0}", value);
Dim root As XElement = <Root>4294967295</Root>
Dim value As UInteger = CUInt(root)
Console.WriteLine("value={0}", value)

该示例产生下面的输出:

value=4294967295

另请参阅

适用于

Explicit(XElement to String)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 String

public:
 static explicit operator System::String ^(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator string (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator string? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> string
Public Shared Narrowing Operator CType (element As XElement) As String

参数

element
XElement

要强制转换为 StringXElement

返回

一个 String,其中包含此 XElement 的内容。

属性

示例

以下示例创建一个包含字符串内容的 元素。 然后,它通过强制转换为 String来检索值。

XElement root = XElement.Parse("<Root>abc <b>def </b>ghi</Root>");
Console.WriteLine("(string)root={0}", (string)root);
Dim root As XElement = <Root>abc <b>def </b>ghi</Root>
Console.WriteLine("(string)root={0}", root.Value)

该示例产生下面的输出:

(string)root=abc def ghi

注解

XElement如果 具有子级,则返回元素的所有文本和后代文本的串联字符串值。

另请参阅

适用于

Explicit(XElement to TimeSpan)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 TimeSpan

public:
 static explicit operator TimeSpan(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator TimeSpan (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> TimeSpan
Public Shared Narrowing Operator CType (element As XElement) As TimeSpan

参数

element
XElement

要强制转换为 TimeSpanXElement

返回

一个 TimeSpan,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 TimeSpan 值。

element 参数为 null

示例

以下示例创建一个具有时间跨度内容的 元素。 然后,它通过强制转换为 TimeSpan来检索值。

XElement root = new XElement("Root", new TimeSpan(1, 5, 30));
TimeSpan value = (TimeSpan)root;
Console.WriteLine("value={0}", value);
Dim root As XElement = <Root><%= New TimeSpan(1, 5, 30) %></Root>
Dim value As TimeSpan = CType(root, TimeSpan)
Console.WriteLine("value={0}", value)

该示例产生下面的输出:

value=01:05:30

注解

包含时间跨度内容的属性或元素的值空间与持续时间内容密切相关,如 ISO 8601 中所述。 创建包含时间跨度内容的属性或元素时,根据 W3C 规范设置属性或元素值的格式。 有关更多详细信息,请参阅 W3C 规范。

从属性或元素强制转换为 TimeSpan 时,行为是宽松的。 即使未根据 W3C 规范对特性或元素值进行格式设置,该值也会适当地转换为 TimeSpan

另请参阅

适用于

Explicit(XElement to UInt64)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 UInt64

public:
 static explicit operator System::UInt64(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator ulong (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> uint64
Public Shared Narrowing Operator CType (element As XElement) As ULong

参数

element
XElement

要强制转换为 UInt64XElement

返回

一个 UInt64,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 UInt64 值。

element 参数为 null

elementnull

示例

以下示例创建一个具有无符号长整型内容的元素。 然后,它通过强制转换为 UInt64来检索值。

XElement root = new XElement("Root", 18446744073709551615);
ulong value = (ulong)root;
Console.WriteLine("value={0}", value);
Dim root As XElement = <Root>18446744073709551615</Root>
Dim value As ULong = CULng(root)
Console.WriteLine("value={0}", value)

该示例产生下面的输出:

value=18446744073709551615

另请参阅

适用于

Explicit(XElement to Nullable<Int32>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 Int32Nullable<T>

public:
 static explicit operator Nullable<int>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator int? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator int? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<int>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of Integer)

参数

element
XElement

要强制转换为 Int32Nullable<T>XElement

返回

一个 Int32Nullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 Int32 值。

示例

以下示例创建一个具有无符号整数内容的元素。 然后,它通过将 强制转换为 Nullable<T>Int32检索值。

XElement root = new XElement("Root",
    new XElement("Value", 2147483647)
);
int? value = (int?)root.Element("Value");
Console.WriteLine("Nullable integer: value={0}", value == null ? "null" : value.ToString());
Dim root As XElement = _
        <Root>
            <Value>2147483647</Value>
        </Root>
Dim value As Nullable(Of Integer) = CType(root.Element("Value"), Nullable(Of Integer))
Console.WriteLine("Nullable integer: value={0}", IIf(value.HasValue, value.ToString(), "null"))

该示例产生下面的输出:

Nullable integer: value=2147483647

另请参阅

适用于

Explicit(XElement to Single)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 Single

public:
 static explicit operator float(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator float (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> single
Public Shared Narrowing Operator CType (element As XElement) As Single

参数

element
XElement

要强制转换为 SingleXElement

返回

一个 Single,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 Single 值。

element 参数为 null

elementnull

示例

以下示例创建具有单精度浮点内容的元素。 然后,它通过强制转换为 Single来检索值。

XElement root = new XElement("Root", 3.402823e38);
float value = (float)root;
Console.WriteLine("value={0}", value);
Dim root As XElement = <Root>3.402823E+38</Root>
Dim value As Single = CSng(root)
Console.WriteLine("value={0}", value)

该示例产生下面的输出:

value=3.402823E+38

另请参阅

适用于

Explicit(XElement to Nullable<Guid>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 GuidNullable<T>

public:
 static explicit operator Nullable<Guid>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator Guid? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator Guid? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<Guid>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of Guid)

参数

element
XElement

要强制转换为 GuidNullable<T>XElement

返回

一个 GuidNullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 Guid 值。

示例

以下示例创建一个包含 guid 内容的元素。 然后,它通过将 强制转换为 Nullable<T>Guid检索值。

XElement root = new XElement("Root",
    new XElement("Value", new Guid("3c1cc55b-baff-4b7a-9d17-077af3aa5730"))
);
Guid? value = (Guid?)root.Element("Value");
Console.WriteLine("Nullable Guid: value={0}", value == null ? "null" : value.ToString());
Dim root As XElement = _
    <Root>
        <Value><%= New Guid("3c1cc55b-baff-4b7a-9d17-077af3aa5730") %></Value>
    </Root>
Dim value As Nullable(Of Guid) = CType(root.Element("Value"), Nullable(Of Guid))
Console.WriteLine("Nullable Guid: value={0}", IIf(value.HasValue, value.ToString(), "null"))

该示例产生下面的输出:

Nullable Guid: value=3c1cc55b-baff-4b7a-9d17-077af3aa5730

另请参阅

适用于

Explicit(XElement to Nullable<Boolean>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 BooleanNullable<T>

public:
 static explicit operator Nullable<bool>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator bool? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator bool? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<bool>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of Boolean)

参数

element
XElement

要强制转换为 BooleanNullable<T>XElement

返回

一个 BooleanNullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 Boolean 值。

示例

以下示例创建一个包含布尔内容的元素。 然后,它通过将 强制转换为 Nullable<T>Boolean检索值。

XElement root = new XElement("Root",
    new XElement("BoolValue1", true),
    new XElement("BoolValue2", false));
bool? bool1 = (bool?)root.Element("BoolValue1");
bool? bool2 = (bool?)root.Element("BoolValue2");
Console.WriteLine("Nullable Boolean: value1={0}", bool1);
Console.WriteLine("Nullable Boolean: value2={0}", bool2);
Dim root As XElement = _
        <Root>
            <BoolValue1>true</BoolValue1>
            <BoolValue2>false</BoolValue2>
        </Root>

Dim value1 As Nullable(Of Boolean) = CType(root.Element("BoolValue1"), Nullable(Of Boolean))
Dim value2 As Nullable(Of Boolean) = CType(root.Element("BoolValue2"), Nullable(Of Boolean))
Console.WriteLine("Nullable Boolean: value1={0}", IIf(value1.HasValue, value1.ToString(), "null"))
Console.WriteLine("Nullable Boolean: value2={0}", IIf(value2.HasValue, value2.ToString(), "null"))

该示例产生下面的输出:

Nullable Boolean: value1=True
Nullable Boolean: value2=False

注解

从属性或元素转换为 Nullable<T>Boolean 时,允许的值为“0”、“1”,以及剪裁并转换为小写后生成“true”或“false”的任何字符串。

另请参阅

适用于

Explicit(XElement to Nullable<Decimal>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 DecimalNullable<T>

public:
 static explicit operator Nullable<System::Decimal>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator decimal? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator decimal? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<decimal>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of Decimal)

参数

element
XElement

要强制转换为 DecimalNullable<T>XElement

返回

一个 DecimalNullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 Decimal 值。

示例

以下示例创建一个具有十进制内容的元素。 然后,它通过将 强制转换为 Nullable<T>Decimal检索值。

XElement root = new XElement("Root",
    new XElement("Value", "79228162514264337593543950335")
);
decimal? value = (decimal?)root.Element("Value");
Console.WriteLine("Nullable decimal: value={0}", value == null ? "null" : value.ToString());
Dim root As XElement = _
    <Root>
        <Value>79228162514264337593543950335</Value>
    </Root>
Dim value As Nullable(Of Decimal) = CType(root.Element("Value"), Nullable(Of Decimal))
Console.WriteLine("Nullable decimal: value={0}", IIf(value.HasValue, value.ToString(), "null"))

该示例产生下面的输出:

Nullable decimal: value=79228162514264337593543950335

另请参阅

适用于

Explicit(XElement to Boolean)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 Boolean

public:
 static explicit operator bool(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator bool (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> bool
Public Shared Narrowing Operator CType (element As XElement) As Boolean

参数

element
XElement

要强制转换为 BooleanXElement

返回

一个 Boolean,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 Boolean 值。

element 参数为 null

示例

以下示例使用布尔值创建一些元素。 然后,它将它们 Boolean强制转换为 。

XElement root = new XElement("Root",
    new XElement("BoolValue1", true),
    new XElement("BoolValue2", false)
);
bool bool1 = (bool)root.Element("BoolValue1");
bool bool2 = (bool)root.Element("BoolValue2");
Console.WriteLine("(bool)BoolValue1={0}", bool1);
Console.WriteLine("(bool)BoolValue2={0}", bool2);
Dim root As XElement = _
        <Root>
            <BoolValue1>true</BoolValue1>
            <BoolValue2>false</BoolValue2>
        </Root>
Dim bool1 As Boolean = CBool(root.Element("BoolValue1"))
Dim bool2 As Boolean = CBool(root.Element("BoolValue2"))
Console.WriteLine("(bool)BoolValue1={0}", bool1)
Console.WriteLine("(bool)BoolValue2={0}", bool2)

该示例产生下面的输出:

(bool)BoolValue1=True
(bool)BoolValue2=False

注解

从属性或元素转换为 Boolean 时,允许的值为“0”、“1”,以及剪裁并转换为小写后生成“true”或“false”的任何字符串。

另请参阅

适用于

Explicit(XElement to DateTime)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 DateTime

public:
 static explicit operator DateTime(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator DateTime (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> DateTime
Public Shared Narrowing Operator CType (element As XElement) As DateTime

参数

element
XElement

要强制转换为 DateTimeXElement

返回

一个 DateTime,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 DateTime 值。

element 参数为 null

elementnull

示例

以下示例创建一个包含日期和时间内容的元素。 然后,它会将其 DateTime 强制转换为 以检索值。

// Behavior is strict when formatting an XML element or attribute from a DateTime,
// but behavior is lax when casting to a DateTime from an element or attribute.
XElement root = new XElement("Root", new DateTime(2006, 10, 6, 12, 30, 0));
Console.WriteLine(root);

// Cast from a strictly formatted XML element.
DateTime dt = (DateTime)root;
Console.WriteLine("dt={0}", dt);
Console.WriteLine("-----");

// If root is formatted in some different way:
XElement dtElement = new XElement("OrderDate", "October 6, 2006");
Console.WriteLine(dtElement);
DateTime orderDate = (DateTime)dtElement;
Console.WriteLine("orderDate={0:d}", orderDate);
' Behavior is strict when formatting an XML element or attribute from a DateTime,
' but behavior is lax when casting to a DateTime from an element or attribute.
Dim root As XElement = <Root><%= New DateTime(2006, 10, 6, 12, 30, 0) %></Root>
Console.WriteLine(root)

' Cast from a strictly formatted XML element.
Dim dt As DateTime = CType(root, DateTime)
Console.WriteLine("dt={0}", dt)
Console.WriteLine("-----")

' If root is formatted in some different way:
Dim dtElement As XElement = <OrderDate>October 6, 2006</OrderDate>
Console.WriteLine(dtElement)
Dim orderDate As DateTime = CType(dtElement, DateTime)
Console.WriteLine("orderDate={0:d}", orderDate)

该示例产生下面的输出:

<Root>2006-10-06T12:30:00</Root>
dt=10/6/2006 12:30:00 PM
-----
<OrderDate>October 6, 2006</OrderDate>
orderDate=10/6/2006

注解

包含日期和时间内容的属性或元素的值空间与 ISO 8601 中所述的日期和时间密切相关。 创建包含日期和时间内容的属性或元素时,根据 W3C 规范设置属性或元素值的格式。 有关更多详细信息,请参阅 W3C 规范。

从属性或元素强制转换为 DateTime 时,行为是宽松的。 即使未根据 W3C 规范对特性或元素值进行格式设置,该值也会适当地转换为 DateTime

此转换运算符使用 CultureInfo.InvariantCulture 从 进行 DateTime转换。

另请参阅

适用于

Explicit(XElement to DateTimeOffset)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XAttribute 的值强制转换为 DateTimeOffset

public:
 static explicit operator DateTimeOffset(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator DateTimeOffset (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> DateTimeOffset
Public Shared Narrowing Operator CType (element As XElement) As DateTimeOffset

参数

element
XElement

要强制转换为 DateTimeOffsetXElement

返回

一个 DateTimeOffset,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 DateTimeOffset 值。

element 参数为 null

elementnull

示例

以下示例创建一个包含日期和时间内容的元素。 然后, DateTimeOffset 它将强制转换为 以检索值。

XElement root = new XElement("Root",
    new XElement("Child", new DateTimeOffset(new DateTime(2006, 10, 6, 12, 30, 0)))
);
Console.WriteLine(root);

DateTimeOffset dt = (DateTimeOffset)root.Element("Child");
Console.WriteLine("dt={0}", dt);
Dim root As XElement = _
    <Root>
        <Child><%= New DateTimeOffset(New DateTime(2006, 10, 6, 12, 30, 0)) %></Child>
    </Root>
Console.WriteLine(root)

Dim dt As DateTimeOffset = CType(root.<Child>(0), DateTimeOffset)
Console.WriteLine("dt={0}", dt)

该示例产生下面的输出:

<Root>
  <Child>2006-10-06T12:30:00-07:00</Child>
</Root>
dt=10/6/2006 12:30:00 PM -07:00

注解

此转换运算符使用 XmlConvert 类来执行转换。

另请参阅

适用于

Explicit(XElement to Double)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 Double

public:
 static explicit operator double(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator double (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> double
Public Shared Narrowing Operator CType (element As XElement) As Double

参数

element
XElement

要强制转换为 DoubleXElement

返回

一个 Double,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 Double 值。

element 参数为 null

elementnull

示例

以下示例创建包含 double 内容的属性。 然后,它通过强制转换为 Double来检索值。

XElement root = new XElement("Root", 1.79769313486231e308);
double value = (double)root;
Console.WriteLine("value={0}", value);
Dim root As XElement = <Root>1.79769313486231E+308</Root>
Dim value As Double = CDbl(root)
Console.WriteLine("value={0}", value)

该示例产生下面的输出:

value=1.79769313486231E+308

另请参阅

适用于

Explicit(XElement to Guid)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 Guid

public:
 static explicit operator Guid(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator Guid (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Guid
Public Shared Narrowing Operator CType (element As XElement) As Guid

参数

element
XElement

要强制转换为 GuidXElement

返回

一个 Guid,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 Guid 值。

element 参数为 null

elementnull

示例

以下示例创建一个元素,其中 guid 作为内容。 然后,它通过强制转换为 Guid来检索值。

XElement root = new XElement("Root", new Guid("3c1cc55b-baff-4b7a-9d17-077af3aa5730"));
Guid value = (Guid)root;
Console.WriteLine("value={0}", value);
Dim root As XElement = <Root><%= New Guid("3c1cc55b-baff-4b7a-9d17-077af3aa5730") %></Root>
Dim value As Guid = CType(root, Guid)
Console.WriteLine("value={0}", value)

该示例产生下面的输出:

value=3c1cc55b-baff-4b7a-9d17-077af3aa5730

另请参阅

适用于

Explicit(XElement to Decimal)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 Decimal

public:
 static explicit operator System::Decimal(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator decimal (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> decimal
Public Shared Narrowing Operator CType (element As XElement) As Decimal

参数

element
XElement

要强制转换为 DecimalXElement

返回

一个 Decimal,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 Decimal 值。

element 参数为 null

elementnull

示例

以下示例创建一个具有十进制值的元素。 然后,它通过强制转换为 Decimal来检索 特性的值。

XElement root = new XElement("Root", "79228162514264337593543950335");
decimal value = (decimal)root;
Console.WriteLine("value={0}", value);
Dim root As XElement = <Root>79228162514264337593543950335</Root>
Dim value As Decimal = CDec(root)
Console.WriteLine("value={0}", value)

该示例产生下面的输出:

value=79228162514264337593543950335

另请参阅

适用于

Explicit(XElement to Int64)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 Int64

public:
 static explicit operator long(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator long (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> int64
Public Shared Narrowing Operator CType (element As XElement) As Long

参数

element
XElement

要强制转换为 Int64XElement

返回

一个 Int64,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 Int64 值。

element 参数为 null

elementnull

示例

以下示例创建一个元素,该元素使用长整型作为内容。 然后,它通过将 强制转换为 Int64来检索元素的值。

XElement root = new XElement("Root", 9223372036854775807);
long value = (long)root;
Console.WriteLine("value={0}", value);
Dim root As XElement = <Root>9223372036854775807</Root>
Dim value As Long = CLng(root)
Console.WriteLine("value={0}", value)

该示例产生下面的输出:

value=9223372036854775807

另请参阅

适用于

Explicit(XElement to Nullable<Double>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 DoubleNullable<T>

public:
 static explicit operator Nullable<double>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator double? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator double? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<double>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of Double)

参数

element
XElement

要强制转换为 DoubleNullable<T>XElement

返回

一个 DoubleNullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 Double 值。

示例

以下示例创建具有双精度浮点内容的元素。 然后,它通过将 强制转换为 Nullable<T>Double检索值。

XElement root = new XElement("Root",
    new XElement("Value", 1.79769313486231e308)
);
double? value = (double?)root.Element("Value");
Console.WriteLine("Nullable double: value={0}", value == null ? "null" : value.ToString());
Dim root As XElement = _
        <Root>
            <Value>1.79769313486231e308</Value>
        </Root>

Dim value As Nullable(Of Double) = CType(root.Element("Value"), Nullable(Of Double))
Console.WriteLine("Nullable double: value={0}", IIf(value.HasValue, value.ToString(), "null"))

该示例产生下面的输出:

Nullable double: value=1.79769313486231E+308

另请参阅

适用于

Explicit(XElement to Nullable<DateTime>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 DateTimeNullable<T>

public:
 static explicit operator Nullable<DateTime>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator DateTime? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator DateTime? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<DateTime>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of DateTime)

参数

element
XElement

要强制转换为 DateTimeNullable<T>XElement

返回

一个 DateTimeNullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 DateTime 值。

示例

以下示例创建一个元素,该元素的日期和时间作为内容。 然后,它通过将 强制转换为 Nullable<T>DateTime检索值。

XElement root = new XElement("Root",
    new XElement("Value", new DateTime(2006, 10, 6, 12, 30, 0))
);
DateTime? value = (DateTime?)root.Element("Value");
Console.WriteLine("Nullable DateTime: value={0}", value == null ? "null" : value.ToString());
Dim root As XElement = _
    <Root>
        <Value><%= New DateTime(2006, 10, 6, 12, 30, 0) %></Value>
    </Root>
Dim value As Nullable(Of DateTime) = CType(root.Element("Value"), Nullable(Of DateTime))
Console.WriteLine("Nullable DateTime: value={0}", IIf(value.HasValue, value.ToString(), "null"))

该示例产生下面的输出:

Nullable DateTime: value=10/6/2006 12:30:00 PM

注解

包含日期和时间内容的属性或元素的值空间与 ISO 8601 中所述的日期和时间密切相关。 创建包含日期和时间内容的属性或元素时,根据 W3C 规范设置属性或元素值的格式。 有关更多详细信息,请参阅 W3C 规范。

从属性或元素强制转换为 Nullable<T>DateTime 时,行为是松散的。 即使属性或元素值未完全按照 W3C 规范设置格式,该值也会适当地转换为 Nullable<T>DateTime

此转换运算符使用 CultureInfo.InvariantCulture 从 进行 DateTime转换。

另请参阅

适用于

Explicit(XElement to Nullable<DateTimeOffset>)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 DateTimeOffsetNullable<T>

public:
 static explicit operator Nullable<DateTimeOffset>(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator DateTimeOffset? (System.Xml.Linq.XElement element);
[System.CLSCompliant(false)]
public static explicit operator DateTimeOffset? (System.Xml.Linq.XElement? element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> Nullable<DateTimeOffset>
Public Shared Narrowing Operator CType (element As XElement) As Nullable(Of DateTimeOffset)

参数

element
XElement

强制转换为 XElement 类型的 Nullable<T>DateTimeOffset

返回

一个 DateTimeOffsetNullable<T>,其中包含此 XElement 的内容。

属性

例外

元素不是 null 且不包含有效的 DateTimeOffset 值。

示例

以下示例创建一个包含日期和时间内容的元素。 然后,它将强制转换为 Nullable<T>DateTimeOffset 检索值。

XElement root = new XElement("Root",
    new XElement("Child", new DateTimeOffset(new DateTime(2006, 10, 6, 12, 30, 0)))
);
Console.WriteLine(root);

DateTimeOffset? dt = (DateTimeOffset?)root.Element("Child");
Console.WriteLine("dt={0}", dt);
Dim root As XElement = _
    <Root>
        <Child><%= New DateTimeOffset(New DateTime(2006, 10, 6, 12, 30, 0)) %></Child>
    </Root>
Console.WriteLine(root)

Dim dt As Nullable(Of DateTimeOffset) = CType(root.<Child>(0), Nullable(Of DateTimeOffset))
Console.WriteLine("dt={0}", dt)

该示例产生下面的输出:

<Root>
  <Child>2006-10-06T12:30:00-07:00</Child>
</Root>
dt=10/6/2006 12:30:00 PM -07:00

注解

此转换运算符使用 XmlConvert 类来执行转换。

另请参阅

适用于

Explicit(XElement to Int32)

Source:
XElement.cs
Source:
XElement.cs
Source:
XElement.cs

重要

此 API 不符合 CLS。

将此 XElement 的值强制转换为 Int32

public:
 static explicit operator int(System::Xml::Linq::XElement ^ element);
[System.CLSCompliant(false)]
public static explicit operator int (System.Xml.Linq.XElement element);
[<System.CLSCompliant(false)>]
static member op_Explicit : System.Xml.Linq.XElement -> int
Public Shared Narrowing Operator CType (element As XElement) As Integer

参数

element
XElement

要强制转换为 Int32XElement

返回

一个 Int32,其中包含此 XElement 的内容。

属性

例外

元素不包含有效的 Int32 值。

element 参数为 null

示例

以下示例创建一个元素,该元素使用整数作为内容。 然后,它通过强制转换为 Int32来检索值。

XElement root = new XElement("Root", 2147483647);
int value = (int)root;
Console.WriteLine("value={0}", value);
Dim root As XElement = <Root>2147483647</Root>
Dim value As Integer = CInt(root)
Console.WriteLine("value={0}", value)

该示例产生下面的输出:

value=2147483647

另请参阅

适用于